iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
In Visual Studio’s Concurrency Visualizer, EventSource events with the opcodes win:Start and win:Stop mark the beginning and end of a span. The visualizer can display that span only when it is not nested or overlapping and its start and end events occur on the same thread.
What do win:Start and win:Stop mean?
They are EventSource opcode names that the Concurrency Visualizer interprets as span boundaries: win:Start begins a span, and win:Stop ends it. Microsoft describes this convention in its Visual Studio documentation on visualizing EventSource events as markers.
A span represents a portion of activity between its start and stop events. In this context, the opcodes tell the Visual Studio profiling tool how to render events; they are not, by themselves, a guarantee that every such pair will appear as a visible span.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
When will the Concurrency Visualizer display a span?
The documented display rules impose two constraints:
#1 Best Overall
- No nesting or overlap: The visualizer cannot display nested or overlapping spans.
- Same thread: The start and stop events must be on the same thread. A pair that begins on one thread and ends on another cannot be displayed as a span.
These are visualization limits. If a span is absent from the display, that alone does not prove that the corresponding events were absent from the trace; the pair may not meet the rendering constraints.
How are other EventSource events shown?
The visualizer also uses marker categories other than spans. Depending on the event’s opcode and the documented event-level condition, events without a Start or Stop opcode can appear as flag markers; in the remaining cases, the visualizer treats events as messages. Microsoft documents these categories alongside the span convention in its marker guidance.
Rank #2
So, when reading the trace, distinguish a span (a Start/Stop pair), a flag marker, and a message rather than assuming every EventSource event represents a duration.
Why might a span be missing?
Check whether its start and stop are paired on the same thread and whether the span is nested in or overlaps another span. Either documented limitation can prevent the Concurrency Visualizer from displaying it. The display result should therefore be interpreted as a rendering of supported marker patterns, not as proof that no underlying event occurred.
Quick Recap
Best Value
Rank #4
Rank #3
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

