You use the Trace view to see a trace from beginning to end of a request. The Trace view shows you a flame graph of the full trace and below that, each span is shown in a hierarchy, allowing you to see the parent-child relationship of all the spans in the trace. Errors are shown in red.
Clicking a span shows details in the right panels, based on the span’s metadata. Whenever you view a trace in LightStep, it’s persisted for the length of your Data Retention policy so it can be bookmarked, shared, and reviewed by your team at any time.
When viewing a “live” trace, LightStep view pulls span data from the Microsatellites’ retention window and builds the trace as the data comes in (that’s why you’ll often see Trace Assembling with a spinning icon as the data loads). Your view into the trace is compiled from real-time data, giving you an accurate view into a request. Traces built from historical data (such as Snapshots or links) load more quickly.
Access Trace View
You access a Trace view by clicking on a span from several places within Lightstep:
- Trace Analysis tabe in Explorer: Click a span in the table to open. The span is selected in the trace.
- Streams: Click a dot in the scatterplot to open the trace.
- Dashboards: Click a dot in the scatterplot to open the trace.
- Service diagram: Click an operation’s span in the left panel.
- Historical spans: Click a span in the Historical Spans table to view a trace used in a Stream.
- Developer Mode: Click View Trace to see traces sent by the Developer Satellite.
- Alerts: Alerts include a link to a trace that is an exemplar of the current issue.
View Trace Map
At the top of the Trace view, a map displays the overall trace. Services participating in the trace are displayed in different colors to give a sense of the overall service interactions. You can click on a colored bar to select the corresponding span and see its details.
You can toggle the trace map between two modes. The “icicle graph” provides a view of the overall shape of the trace.
Click the Minimize/Maximize icon to view a single-line condensed view designed to take up minimal screen space.
The expanded span view shows each span where it participates in the trace by presenting a hierarchical representation of spans in parent/child relationships in the order that they participated in a request. The number to the left of the span tells you how many children that span has. You can collapse all or part of the hierarchy, focus on just one span and its hierarchy, and filter to see only specific spans.
Click on a span to view details provided by span metadata from your instrumentation (attributes and events), any Workflow Links you’ve created, and other details, such as Span and Trace IDs, latency contribution, and language of the service the span is from.
See the Critical Path
Lightstep automatically runs a heuristic to determine the critical path of a given trace, using a black line. During a request, a parent span might be waiting for a child span (or even a child of the child) to complete before it can finish. The critical path is the time when an operation in a trace is actually doing something.
Consider this trace of a request. Each horizontal bar represents the full duration of an operation’s span. You can see that the spans towards the top take much longer, mostly because they’re waiting for the spans further down the stack to complete. Lightstep shows you the critical path through the trace, allowing you to see how long that operation was actually active during the request and to help identify bottlenecks in the overall transactions.
When errors are found on a span, LightStep displays the span in red in the flame graph and the expanded span view. The details panel shows that there’s an error, and log of events should help determine the nature of the error.
See Missing Spans
Spans highlighted with a red dashed box denote missing spans; their parent span wasn’t found in the data from the Microsatellites.
Missing spans can happen when either the Microsatellite dropped the span (for example, your Microsatellite pool is not auto-scaling to keep up with traffic) or the tracer dropped the span (for example, your application crashed or never called
span.flush() ). When you see missing spans, check the Reporting Status page to find the culprit.
Modify Display of Spans
The expanded span view can be modified to zero in on just what’s important.
Collapse the Hierarchy
You can collapse the hierarchy to the level of the selected span. Select a span and click the Collapse/Expand button at the top of the span table. Parent spans with collapsed children display the number of hidden child spans.
To expand the hierarchy to reshow all spans, re-click the Collapse/Expand button.
To collapse at a single point in the hierarchy, click on that span’s number box. Re-click to expand.
Focus on a Single Span’s Hierarchy
You can show just the spans in a sub-hierarchy to get a closer view. Select the span to focus on and click Focus on selected span. The span table filters to show only that hierarchy. The flame graph at the top also filters to show only spans that currently have focus.
Click Reset Focus to show the full span table.
Filter the Span Table
You can show only specific operations or services. Enter a name into the search bar and LightStep filters the table.
View Details of a Span
The panel to the right of the span table shows details for the selected span.
Operation and Service
The top of the panel shows the service and operation name. Click the name link to run a query in Explorer for that operation or service.
Use the Share button to share the trace with someone. You can share the URL for the trace and anyone who clicks the URL is taken to LightStep to see that exact trace. When you integrate LightStep with Slack, you can share previews of the Trace View page in any channel of your workspace. Other Slack members can see information about the selected span, its parent span, critical path information, and errors. LightStep users can click View Trace to jump right to that page.
Attributes & Events
The Attributes & Events panel shows the attributes and their values on the selected span, and any logs of event data as reported by your instrumentation.
Click the attribute value to run a query in Explorer for that value.
The Workflow Links panel shows any links you’ve created that apply to the selected span. Workflow Links allow you to create dynamic links to information outside of this page, allowing access to all the info you need when you need it. For example, say you want to jump directly to logs from the time when an issue occurred or to quickly view your playbook’s instructions when the span includes a certain error code. LightStep can construct these customized links automatically, using attributes and other metadata from a span in the trace.
The Details panel shows details captured from your instrumentation, such as span timestamps, latency, IDs, and language. For certain details, like the client library, you can click a link to visit that version’s GitHub page.