Trace Explorer¶
The Trace Explorer in Observe enables you to investigate user requests and transactions by analyzing trace data. With powerful filtering and visualization tools, you can connect these requests to the underlying services, infrastructure, or other resources that processed them. Whether you’re troubleshooting errors, inspecting performance bottlenecks, or analyzing specific requests, the Trace Explorer helps you quickly pinpoint and resolve issues.
How to perform common workflows with trace data in Observe¶
Common user need when looking at a trace |
Observe Trace Viewer feature that supports this need |
---|---|
Inspect the call structure of a trace |
Flame chart |
View a summary of where time was spent in a trace |
Service legend in flame chart, as well as inferring from the flame chart itself. |
See what resources were used to serve an operation in a trace, or other attributes (e.g., business metadata) associated with the operation |
Fields & Attributes tab underneath flame chart. |
Inspect errors in a particular span & across a trace |
Scan the flame chart for spans in red, then click into those spans for more inspection. |
Inspect logs associated with a span or trace |
Link to a Log Explorer search with trace id or span id pre-populated. Also, Span Events tab underneath flame chart. |
Common user need when searching for traces |
Observe Trace Explorer feature that supports this need |
---|---|
Filter a trace search to a particular service |
Service facet filter |
Filter a trace search to a particular endpoint |
Operation facet filter |
Filter a trace search to errors only |
Status facet filter |
Filter a trace search to a particular HTTP status code |
|
Filter a trace search to a particular environment |
environment facet filter |
Filter a trace search to service entry spans only |
Span type drop-down and facet filter |
Filter a trace search to a particular span attribute |
Extract the attribute from the |
Filter a trace search to a particular resource attribute |
Extract the attribute from the |
For more information on how Observe makes trace data available, see the Span dataset schema.
Exporting Data¶
To download the data displayed in Trace Explorer, click the Export button. You may select CSV or JSON format, and a maximum size limit (one thousand, ten thousand, or one hundred thousand rows). Note that hidden fields will be included. Use the pick_col OPAL verb to reduce the width of downloaded data.
Link directly to a trace¶
You may want to include direct links to specific traces from your alert payloads. To create a URL to a trace, use the following template:
https://<tenant_id>.observeinc.com/workspace/<workspace_id>/trace-inspector?traceId=<trace id>
Traces accessed via direct link are fetched from the last 24 hours of data.
If you are using a dataset other than the Span dataset that is part of the OpenTelemetry app, you’ll need to add the dataset ID as a parameter:
https://<tenant_id>.observeinc.com/workspace/<workspace_id>/trace-inspector?spanDatasetId=<span dataset id>&traceId=<trace id>
Using custom trace & span datasets¶
Observe’s trace data features work best with the datasets provided out of the box.
If you want to use a custom span dataset, here’s what you’ll need to provide in the dataset definition (Observe automatically builds traces from spans, so you don’t need to provide a trace dataset):
Trace Explorer feature |
Field(s) required in your span dataset |
---|---|
Use Trace Explorer at all on your dataset |
|
Filter on span type in dropdown |
|
Filter on start time |
|
Duration chart |
|
Error chart |
|
Service facet filter & group by Service on charts |
|
Operation facet filter & group by Operation on charts |
|
Environment facet filter & group by Environment on charts |
|
Version facet filter & group by Version on charts |
|
Error chart, response status facet filter & group by response status on charts |
|
Status code facet filter & group by Status code on charts |
|
View the flame graph for a trace |
|
View the list of services in a given trace |
|
View span events for a given span |
No required fields in the span dataset; this requires a dataset named Span Event that has a foreign key column coming from the your span dataset |