Tracing Gateway
Service: tracing-gateway · Port: 8102
tracing-gateway serves distributed traces: the path of a request through your services, span by span. It queries Jaeger and returns normalized results for the Traces page, AI agents and scripts. It stores nothing itself.
To send traces, instrument your apps with OpenTelemetry — see Monitoring your applications.
What you can do
| Operation | Use it to… |
|---|---|
| Get a trace | See every span of one request, with timings and errors. |
| Service map | See which services call which, how often, and how often those calls fail. |
| Slow traces | Find requests slower than a threshold. |
| Error traces | Find requests where any span failed. |
Data model
Trace
├ ── trace_id, duration_ms, error
├── services[] unique services involved
└── spans[]
├── span_id, parent_span_id, operation
├── service, start_ms, duration_ms
├── error, tags
└── logs[]
ServiceMap
├── services[]
└── edges[]
├── source, target
├── calls_per_min
└── error_rate
REST API
| Method | Path | Description |
|---|---|---|
GET | /api/v1/traces/{id} | A full trace with all spans. |
GET | /api/v1/traces/slow | Slow traces (?service=&min_ms=1000&limit=20). |
GET | /api/v1/traces/errors | Traces with errors (?service=&limit=20). |
GET | /api/v1/traces/search | Search by service, operation, tags and time (?service=&operation=&tags=&from=&to=). |
GET | /api/v1/services/map | The service dependency map. |
GET | /healthz | Health check. |
Tenant users see only traces from their own services.
Configuration
| Variable | Default | Description |
|---|---|---|
JAEGER_URL | http://jaeger-query.monitoring:16686 | Jaeger query endpoint. |
AUTH_JWT_ACCESS_SECRET | — | Validates tokens. |
PORT | 8102 | HTTP port. |