Index: runtime/vm/timeline_fuchsia.cc |
diff --git a/runtime/vm/timeline_fuchsia.cc b/runtime/vm/timeline_fuchsia.cc |
index 0c37b087877e31b9f510c2f2ac59ee113d1a427a..5a13bf1956e0064223c47bab7e3bd85c0a457ce3 100644 |
--- a/runtime/vm/timeline_fuchsia.cc |
+++ b/runtime/vm/timeline_fuchsia.cc |
@@ -188,6 +188,38 @@ void DartTimelineEventHelpers::ReportCompleteEvent(Thread* thread, |
event->Complete(); |
} |
+void DartTimelineEventHelpers::ReportFlowEvent(Thread* thread, |
+ Zone* zone, |
+ TimelineEvent* event, |
+ int64_t start, |
+ int64_t start_cpu, |
+ const char* category, |
+ const char* name, |
+ int64_t type, |
+ int64_t flow_id, |
+ const char* args) { |
+ char* name_string = strdup(name); |
+ ASSERT((type >= 0) && (type <= 2)); |
+ switch (type) { |
+ case 0: |
+ event->FlowBegin(name_string, flow_id, start); |
+ break; |
+ case 1: |
+ event->FlowStep(name_string, flow_id, start); |
+ break; |
+ case 2: |
+ event->FlowEnd(name_string, flow_id, start); |
+ break; |
+ default: |
+ UNREACHABLE(); |
+ break; |
+ } |
+ event->set_owns_label(true); |
+ event->SetNumArguments(1); |
+ event->CopyArgument(0, "args", args); |
+ event->Complete(); |
+} |
+ |
void DartTimelineEventHelpers::ReportInstantEvent(Thread* thread, |
Zone* zone, |
TimelineEvent* event, |