Skip to main content
Ultra supports exporting traces and metrics via the OpenTelemetry Protocol (OTLP) to external observability backends like Jaeger, Grafana Tempo, Datadog, and others.

Configuration

Enable OTLP export in your Ultra config:
observability:
  enabled: true
  endpoint: "localhost:4317"    # OTLP gRPC endpoint
  service_name: "ultra"         # Service name in traces
FieldTypeDefaultDescription
enabledboolfalseEnable OTLP telemetry export
endpointstring""OTLP gRPC endpoint
service_namestring"ultra"Service name for telemetry

Backend Examples

Jaeger

Run Jaeger locally and point Ultra to it:
# Start Jaeger with OTLP support
docker run -d --name jaeger \
  -p 4317:4317 \
  -p 16686:16686 \
  jaegertracing/all-in-one:latest
observability:
  enabled: true
  endpoint: "localhost:4317"
View traces at http://localhost:16686.

Grafana Tempo

observability:
  enabled: true
  endpoint: "tempo.example.com:4317"
  service_name: "ultra-production"

Datadog

Use the Datadog OTLP ingest endpoint:
observability:
  enabled: true
  endpoint: "localhost:4317"  # Datadog Agent OTLP port
Ensure your Datadog Agent is configured with OTLP ingest enabled.

Honeycomb

observability:
  enabled: true
  endpoint: "api.honeycomb.io:443"

What Gets Exported

  • Traces — OpenTelemetry spans for every MCP operation with W3C Trace Context IDs
  • Metrics — Request counts, latency histograms, error rates

Dual Storage

OTLP export works alongside local storage. When enabled, Ultra writes to both:
  1. Local SQLite — Always available for the dashboard and local inspection
  2. OTLP endpoint — Exported to your chosen backend
This means you get the Ultra dashboard locally plus your existing observability stack for alerts, SLOs, and cross-service correlation.