[neurun] Organise Chrome Trace data by backend (#9277)
author이한종/On-Device Lab(SR)/Engineer/삼성전자 <hanjoung.lee@samsung.com>
Fri, 29 Nov 2019 07:06:51 +0000 (16:06 +0900)
committerGitHub Enterprise <noreply-CODE@samsung.com>
Fri, 29 Nov 2019 07:06:51 +0000 (16:06 +0900)
Organise Chrome Trace data by backend

Signed-off-by: Hanjoung Lee <hanjoung.lee@samsung.com>
runtime/libs/misc/include/misc/EventCollector.h
runtime/libs/misc/include/misc/EventRecorder.h
runtime/libs/misc/src/EventCollector.cpp
runtime/libs/misc/src/EventRecorder.cpp
runtime/neurun/core/src/exec/ExecutionObservers.cc

index bcb2d07..530a909 100644 (file)
@@ -31,6 +31,7 @@ public:
   struct Event
   {
     Edge edge;
+    std::string backend;
     std::string label;
   };
 
index e5fb34d..510ce0c 100644 (file)
@@ -26,6 +26,7 @@
 struct Event
 {
   std::string name;
+  std::string tid;
   std::string ph; /* REQUIRED */
   std::string ts; /* REQUIRED */
 };
index 8a77100..452a291 100644 (file)
@@ -38,11 +38,12 @@ class DurationEventBuilder
 public:
   DurationEventBuilder(const std::string &ts) : _ts{ts} {}
 
-  DurationEvent build(const std::string &name, const std::string &ph) const
+  DurationEvent build(const std::string &tid, const std::string &name, const std::string &ph) const
   {
     DurationEvent evt;
 
     evt.name = name;
+    evt.tid = tid;
     evt.ph = ph;
     evt.ts = _ts;
 
@@ -90,11 +91,11 @@ void EventCollector::onEvent(const Event &event)
   switch (event.edge)
   {
     case Edge::BEGIN:
-      _rec->emit(DurationEventBuilder(ts).build(event.label, "B"));
+      _rec->emit(DurationEventBuilder(ts).build(event.backend, event.label, "B"));
       break;
 
     case Edge::END:
-      _rec->emit(DurationEventBuilder(ts).build(event.label, "E"));
+      _rec->emit(DurationEventBuilder(ts).build(event.backend, event.label, "E"));
       break;
   }
 
index 7d904f2..c17d80e 100644 (file)
@@ -77,7 +77,7 @@ void fill(Content &content, const Event &evt)
 {
   content.flds.emplace_back("name", evt.name);
   content.flds.emplace_back("pid", "0");
-  content.flds.emplace_back("tid", "0");
+  content.flds.emplace_back("tid", evt.tid);
   content.flds.emplace_back("ph", evt.ph);
   content.flds.emplace_back("ts", evt.ts);
 }
index 894b3e0..46f89fb 100644 (file)
@@ -91,15 +91,19 @@ void ChromeTracingObserver::handleBegin(IExecutor *)
 }
 
 void ChromeTracingObserver::handleBegin(IExecutor *, const model::Subgraph *subgraph,
-                                        const backend::Backend *)
+                                        const backend::Backend *backend)
 {
-  _collector.onEvent(EventCollector::Event{EventCollector::Edge::BEGIN, subgraphTag(subgraph)});
+  std::string backend_id = backend->config()->id();
+  _collector.onEvent(
+      EventCollector::Event{EventCollector::Edge::BEGIN, backend_id, subgraphTag(subgraph)});
 }
 
 void ChromeTracingObserver::handleEnd(IExecutor *, const model::Subgraph *subgraph,
-                                      const backend::Backend *)
+                                      const backend::Backend *backend)
 {
-  _collector.onEvent(EventCollector::Event{EventCollector::Edge::END, subgraphTag(subgraph)});
+  std::string backend_id = backend->config()->id();
+  _collector.onEvent(
+      EventCollector::Event{EventCollector::Edge::END, backend_id, subgraphTag(subgraph)});
 }
 
 void ChromeTracingObserver::handleEnd(IExecutor *)