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
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.
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 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, then db.operation, then db.query.summary,
and fall back to the span name when only db.system is available.
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,
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
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.