Octopus
1.x
Docs/Octopus/Tracing
Open

Reading1 min
Updated31 Jul 2026
Sourcev1/observability/tracing.mdx

Tracing

When enabled, Octopus exports its tracing spans to an OpenTelemetry collector over OTLP (gRPC). Tracing is off by default.

Enabling01

observability:
  tracing:
    enabled: true
    jaeger_endpoint: http://localhost:4317 # an OTLP/gRPC endpoint
FieldTypeDefaultEffect
observability.tracing.enabledbooleanfalseWhen true (and an endpoint is set), installs a batched OTLP span exporter.
observability.tracing.jaeger_endpointstring | nullnoneThe OTLP endpoint to export to (gRPC, e.g. http://localhost:4317).
Warning

Despite the field name, jaeger_endpoint is treated as an OTLP endpoint (default OTLP/gRPC port 4317), not the legacy Jaeger Thrift endpoint (14268). Modern Jaeger (≥ 1.35) accepts OTLP directly, so point this at your collector's OTLP receiver. If enabled is true but no endpoint is set, no exporter starts.

What is exported02

The gateway's internal spans and events (request handling, proxying, discovery, lifecycle) are exported as OpenTelemetry spans through a batched OTLP exporter on the Tokio runtime. Pending batches are flushed on graceful shutdown.

Note

W3C trace-context propagation to upstreams is not yet wired — the gateway exports its own spans but does not currently inject traceparent headers into proxied requests, so upstream spans won't automatically join the gateway's trace.