Skip to main content
Version: 1.0

Tracing Gateway

tracing-gateway is a stateless Jaeger HTTP API v3 façade. It translates KubeOpera queries into Jaeger search parameters, fetches trace data, and returns normalised results. No database — all traces live in Jaeger.

What It Does​

  • Fetches the full span tree for a specific trace ID
  • Lists all instrumented services and their dependency edges (service map)
  • Searches for slow traces above a configurable latency threshold
  • Searches for error traces (spans with error=true tag)

Data Model​

Trace
├── trace_id
├── duration_ms
├── services[] (unique service names across all spans)
├── error (true if any span has error tag)
└── spans[]
├── span_id, operation
├── service, duration_ms
└── error

ServiceMap
├── services[] (all discovered services)
└── edges[]
├── source, target
├── calls_per_min
└── error_rate

REST API​

MethodPathDescription
GET/api/v1/traces/{id}Fetch full trace with all spans
GET/api/v1/services/mapService dependency map
GET/api/v1/traces/slowSlow traces (?service=&min_ms=1000&limit=20)
GET/api/v1/traces/errorsError traces (?service=&limit=20)
GET/healthzHealth check

Environment Variables​

VariableDefaultDescription
JAEGER_URLhttp://localhost:16686Jaeger query endpoint
PORT8102HTTP port