List traces
from- optional ISO 8601 start timestampto- optional ISO 8601 end timestampenvironment- optional deployment environment filternamespace- optional Kubernetes namespace filter fromk8s.namespace.nameservice_name- optional service filterroot_span- optional exact root span namehttp_method- optional HTTP request methodhttp_status_code- optional three-digit HTTP response status codemin_duration- optional minimum duration in millisecondsmax_duration- optional maximum duration in millisecondsstatus- optionalokorerrorq- optional case-insensitive trace ID, root span, or service searchoperation- optional normalized operation name (drilldown from the operations list)limitoffset
data, limit, offset, total, and
total_exact. To stay fast on long ranges, the list reads the newest hour, 6 hours, 24 hours,
or 7 days first, and stops at the first of them that holds more matching traces than
offset + limit. Then total_exact is false and total counts only the matching traces that
start in that part of the range: the true count is at least total, and total is always
larger than offset + limit, so another page exists. When the list reads the whole range,
total_exact is true and total is the exact count.
The dashboard filter sidebar loads values for environment, namespace, service, root span,
HTTP method, and HTTP status code from the selected time range, each with its number of spans
(root spans for a root span name). Each search box searches all values of its field, not only
the listed ones. When the counts cannot cover the whole range, they and the matches come from
the newest spans, and the sidebar shows the time they start from. Duration fields accept
nanoseconds, microseconds, milliseconds, seconds, and minutes, then send millisecond values
to the API.
List trace operations
(service_name, normalized operation) over the time window. Each row
carries trace_count, error_count, error_rate, p50_ms, p95_ms, last_seen, and a
60-bucket sparkline. Use this when you want to see “what’s running and how often” instead
of the raw trace stream.
operation_name is normalized server-side: pure-digit path segments collapse to {n} and
UUID segments collapse to {uuid}, so /users/12345/edit and /users/67890/edit group
together as /users/{n}/edit. Drill down by passing the same operation value to the
/v1/projects/{project_id}/traces endpoint.
Common query parameters:
from- optional ISO 8601 start timestamp (defaults to 24h ago)to- optional ISO 8601 end timestamp (defaults to now)service_name- filter to a single serviceenvironment- filter to a deployment environmentmin_duration- optional minimum trace duration in millisecondsstatus- optionalokorerroroperation- optional normalized operation name (drilldown to a single operation)sort- one oflast_seen(default),count,p95,error_ratelimit- maximum rows to return (1..100, default 50)
high_cardinality_truncated: true when the project has more operations
than limit. That usually means span names contain raw IDs or URLs; switching the SDK to
emit http.route templates instead of full URLs fixes it.
Get request latency
query monitors with source traces read the same numbers on every check.
Query parameters:
from- optional ISO 8601 start of the window (defaults to 24 hours beforeto)to- optional ISO 8601 end of the window, not included (defaults to now)service_name- optional service filteroperation- optional span name or HTTP route, for exampleGET /cart/{id}or/cart/{id}environment- optional deployment environment filter
span_count, p50_ms, p95_ms, and p99_ms, and the filters it used. When
no request matches, span_count is 0 and the percentiles are null. The window can be at most
31 days.
Analyze database spans
The Traces dashboard includes a Database insights view for finding slow or failing database work before opening individual traces. It groups spans withdb.system.name (or the older
db.system) by database system,
operation name, and calling service, then reports count, error count, error rate,
p50/p95/p99 latency, last seen, and high-cardinality warnings.
Use the Database insights view when database behavior matters more than raw trace volume.
Filter by time range, environment, service, database system, operation name, or status,
then select a row to open the matching trace list.
Operation names prefer db.operation.name (or the older db.operation), then
db.query.summary, and fall back to the span name.
Analyze HTTP routes
The Traces dashboard includes an HTTP view for finding slow or failing endpoints before opening individual traces. It groups server spans byhttp.route, http.request.method (or
the older http.method), and service, then reports request count, error count, error rate, p50/p95/p99 latency,
last seen, and high-cardinality warnings.
Use the HTTP view when route-level behavior matters more than raw span names. Filter by
time range, environment, service, method, route, status code, or status family, then
select a row to open the matching trace list.
For useful route groups, configure instrumentation to emit templated http.route values
such as /api/users/{id}. Raw URLs still appear, but high-cardinality route values are
flagged so they can be cleaned up at the instrumentation layer.
Analyze queues and messaging spans
The dashboard Queue insights view groups spans that include OpenTelemetry messaging semantic attributes. Use it to compare queue or topic throughput, latency, and error rate by destination, operation, service, and messaging system. To populate the view, send spans withmessaging.system and a destination attribute such
as messaging.destination.name, messaging.destination, or messaging.kafka.topic.
Operation names use messaging.operation.type, messaging.operation.name,
messaging.operation, or the span kind when no operation attribute is present.
Click a queue insight row to drill into the matching trace list. The drilldown preserves
the messaging system, destination, operation, service, time range, environment, and status
filters so the trace samples match the aggregate row.
Get one trace
{"http.request.method": "GET", "http.response.status_code": "503"}. A span from an older SDK has
the old and the current name, for example http.method and http.request.method; read the
current name.
Use the optional from and to ISO 8601 parameters when you know the time window. The time
window limits the data scan and makes an exact trace lookup faster.
Inspect the trace waterfall
Open a trace in the dashboard to see its parent and child spans on a shared time axis. The waterfall uses a stable color for each service and marks error spans. The service name generates the color, so it stays consistent without project color settings. HTTP spans show method badges, and short durations use microsecond or nanosecond units when needed. You can:- Search spans by service, name, status, or attribute
- Show only error spans
- Collapse one branch, collapse all branches, or expand all branches
- Zoom the time axis from 1x to 4x
- Select a span to inspect its duration, position in the trace, status, IDs, attributes, and raw data
List errors related to a trace
List logs related to a trace
limit can be from 0 to 200.
Get the service map
service_limit and call_limit to cap high-cardinality maps when rendering dashboard-style
views.
Common query parameters:
from- optional ISO 8601 start timestampto- optional ISO 8601 end timestampservice_name- optional service filtermin_duration- optional minimum duration in millisecondsstatus- optionalokorerrorservice_limit- optional maximum number of service nodes to returncall_limit- optional maximum number of service dependency edges to return
Agent handoff
Use traces when the user needs request-path evidence, service dependency context, or errors tied to one trace:squasher traces operations, squasher traces list, squasher traces get, or MCP search("traces") followed by execute.