Skip to navigation

Inspect traces

Traces lists every distributed trace that the gateway records. Use it when you need to debug a specific request instead of looking at aggregate metrics. This topic shows you how to find a trace, inspect it, and check routing decisions.

Prerequisites

Before you begin, make sure you have the following:

  • A route that has received requests.
  • Access to the organization that owns the route.

Find a trace

To find a trace, do the following:

  1. In the sidebar, select Admin, and then select Traces.
  2. Optionally, select a time range: 24H, 7D, 30D, or 90D.
  3. Optionally, add one or more filters: Protocol, Route, Service, User, or Status. To find a specific operation, enter text in Filter by operation.
  4. To change which columns appear, click View.

The page shows summary cards for total traces, P95 latency, and error rate over the selected range. A table follows, with the following columns:

ColumnWhat it shows
Trace IDThe unique identifier of the trace.
TimestampWhen the request arrived.
ProtocolThe type of traffic: HTTP, LLM, or MCP.
OperationWhat the request did. For LLM traffic, this is chat followed by a model name, for example chat claude-sonnet-5.
RouteThe route that received the request.
ServiceThe service that handled the request.
UserThe user the request belongs to.
StatusThe result, such as 200.
DurationHow long the request took.

Inspect a trace

Select a row in the traces table to open its span view.

Each trace has one or more spans. For example, an HTTP request through an imported service has a gateway span and a nested span for the request to the upstream. Select a span to see its attributes, including the following:

  • Plugin execution time and invocation count
  • Upstream attempt count, body-read count, and duration
  • Route match type and route name
  • Tenant ID
  • HTTP method and status code
  • The originating user agent

The detail view also shows the request and response bodies. For agent traffic, the request body includes the system prompt and the tool definitions that the agent sends with each request.

Check how plugins handled a request

When you attach a routing plugin to a route, the trace shows the extra requests that the plugin makes:

  • A request that uses the Adaptive Model Router has its own request to the decision service, followed by the request to the provider. The decision changes the model identifier in the provider request.
  • A request on a route without a routing plugin shows only the request to the provider.

To confirm which model answered, check the model field in the response body. The Operation column can show the model that the client requested instead of the model that the plugin chose.

For more information about the plugins, see Route requests across models and providers.

Next steps