Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit a09436a

Browse files
authored
Visualize pipeline items in the various stages as trace flows. (#3904)
1 parent 488584f commit a09436a

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

synchronization/pipeline.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ class Pipeline : public ftl::RefCountedThreadSafe<Pipeline<R>> {
5252
if (continuation_) {
5353
continuation_(nullptr, trace_id_);
5454
TRACE_EVENT_ASYNC_END0("flutter", "PipelineProduce", trace_id_);
55+
// The continuation is being dropped on the floor. End the flow.
56+
TRACE_FLOW_END("flutter", "PipelineItem", trace_id_);
5557
}
5658
}
5759

@@ -60,6 +62,7 @@ class Pipeline : public ftl::RefCountedThreadSafe<Pipeline<R>> {
6062
continuation_(std::move(resource), trace_id_);
6163
continuation_ = nullptr;
6264
TRACE_EVENT_ASYNC_END0("flutter", "PipelineProduce", trace_id_);
65+
TRACE_FLOW_STEP("flutter", "PipelineItem", trace_id_);
6366
}
6467
}
6568

@@ -74,6 +77,7 @@ class Pipeline : public ftl::RefCountedThreadSafe<Pipeline<R>> {
7477

7578
ProducerContinuation(Continuation continuation, size_t trace_id)
7679
: continuation_(continuation), trace_id_(trace_id) {
80+
TRACE_FLOW_BEGIN("flutter", "PipelineItem", trace_id_);
7781
TRACE_EVENT_ASYNC_BEGIN0("flutter", "PipelineProduce", trace_id_);
7882
}
7983

@@ -128,6 +132,8 @@ class Pipeline : public ftl::RefCountedThreadSafe<Pipeline<R>> {
128132

129133
empty_.Signal();
130134

135+
TRACE_FLOW_END("flutter", "PipelineItem", trace_id);
136+
131137
return items_count > 0 ? PipelineConsumeResult::MoreAvailable
132138
: PipelineConsumeResult::Done;
133139
}

0 commit comments

Comments
 (0)