Skip to content
agentgateway has joined the Agentic AI FoundationLearn more

For the complete documentation index, see llms.txt. Markdown versions of all docs pages are available by appending .md to any docs URL.

Jaeger

Page as Markdown

Export agentgateway traces to Jaeger for local collection and visualization by using its built-in OTLP receiver and web UI.

Jaeger is an open-source distributed tracing platform that collects, stores, and visualizes traces. It is a quick way to get started with tracing for agentgateway because it ships with a built-in OTLP receiver, so you do not need a separate collector, and a web UI to browse and query spans.

Jaeger works best for local development and testing. For production deployments, consider routing traces through an OpenTelemetry Collector so that you can fan out to multiple backends or apply processing pipelines to your traces before exporting them.

The way you set up Jaeger depends on how you installed agentgateway.

Run a Jaeger container on the same host as agentgateway.

  1. Start a Jaeger container on the same host that agentgateway runs.

    docker run -d --name jaeger \
      -p 16686:16686 \
      -p 4317:4317 \
      -e COLLECTOR_OTLP_ENABLED=true \
      jaegertracing/all-in-one:latest
  2. Point agentgateway at the Jaeger endpoint.

    # yaml-language-server: $schema=https://agentgateway.dev/schema/config
    frontendPolicies:
      tracing:
        host: localhost:4317
        randomSampling: true
  3. Open the Jaeger UI at http://localhost:16686 to view traces.

  4. When you are done, remove the Jaeger container.

    docker rm -f jaeger

Other configurations

Review other common configuration examples.

Docker Compose

Run agentgateway and Jaeger together as a single Docker Compose stack. Jaeger is available to agentgateway at jaeger:4317, the Docker service name.

  1. Create a docker-compose.yaml file with the following content.

    services:
      agentgateway:
        image: cr.agentgateway.dev/agentgateway:latest
        ports:
          - "3000:3000"
        volumes:
          - ./config.yaml:/config.yaml:ro
        command: ["-f", "/config.yaml"]
        depends_on:
          - jaeger
    
      jaeger:
        image: jaegertracing/all-in-one:latest
        ports:
          - "16686:16686"
          - "4317:4317"
        environment:
          - COLLECTOR_OTLP_ENABLED=true
  2. In your agentgateway config file, set the Jaeger service name as the tracing host.

    # yaml-language-server: $schema=https://agentgateway.dev/schema/config
    frontendPolicies:
      tracing:
        host: jaeger:4317
        randomSampling: true
  3. Start the stack.

    docker compose up -d
  4. Open the Jaeger UI at http://localhost:16686 to view traces.

  5. When you are done, stop and remove the stack.

    docker compose down
Was this page helpful?
Agentgateway assistant

Ask me anything about agentgateway configuration, features, or usage.

Note: AI-generated content might contain errors; please verify and test all returned information.

Tip: one topic per conversation gives the best results. Use the + button in the chat header to start a new conversation.

Switching topics? Starting a new conversation improves accuracy.
↑↓ navigate select esc dismiss

What could be improved?

Your feedback helps us improve assistant answers and identify docs gaps we should fix.

Need more help? Join us on Discord: https://discord.gg/y9efgEmppm

Want to use your own agent? Add the Solo MCP server to query our docs directly. Get started here: https://search.solo.io/.