Docs
Launch GraphOS Studio

Jaeger exporter (via OTLP)

Configure the Jaeger exporter for tracing


Enable and configure the Jaeger exporter for tracing in the .

For general tracing configuration, refer to Router Tracing Configuration.

Jaeger OTLP configuration

Since Jaeger v1.35.0, Jaeger supports native OTLP ingestion, and it's the recommended way to send traces to Jaeger.

When running Jaeger with Docker, make sure that port 4317 is exposed and that COLLECTOR_OTLP_ENABLED is set to true. For example:

docker run --name jaeger \
-e COLLECTOR_OTLP_ENABLED=true \
-p 16686:16686 \
-p 4317:4317 \
-p 4318:4318 \
jaegertracing/all-in-one:1.35

To configure the to send traces via OTLP, set the Jaeger endpoint with port 4317. For example:

router.yaml
telemetry:
exporters:
tracing:
otlp:
enabled: true
# Optional endpoint, either 'default' or a URL (Defaults to http://127.0.0.1:4317)
endpoint: "http://${env.JAEGER_HOST}:4317"

See OTLP configuration for more details on settings.

Jaeger Native configuration

⚠️ CAUTION

Native Jaegar tracing is deprecated and will be removed in a future release of the Apollo Router. Use Jaeger via OTLP instead.

The Apollo Router can be configured to export tracing data to Jaeger either via an agent or HTTP collector.

Unless explicitly configured to use a collector, the router will use Jaeger agent by default.

router.yaml
telemetry:
exporters:
tracing:
jaeger:
enabled: true

enabled

Set to true to enable the Jaeger exporter. Defaults to false.

batch_processor

All exporters support configuration of a batch span processor with batch_processor.

You must tune your batch_processor configuration if you see any of the following messages in your logs:

  • OpenTelemetry trace error occurred: cannot send span to the batch span processor because the channel is full

  • OpenTelemetry metrics error occurred: cannot send span to the batch span processor because the channel is full

The exact settings depend on the bandwidth available for you to send data to your application peformance monitor (APM) and the bandwidth configuration of your APM. Expect to tune these settings over time as your application changes.

```yaml telemetry: exporters: tracing: jaeger: batch_processor: max_export_batch_size: 512 max_concurrent_exports: 1 max_export_timeout: 30s max_queue_size: 2048 scheduled_delay: 5s ```

batch_processor configuration reference

AttributeDefaultDescription
scheduled_delay5sThe delay in seconds from receiving the first span to sending the batch.
max_concurrent_exports1The maximum number of overlapping export requests.
max_export_batch_size512The number of spans to include in a batch. May be limited by maximum message size limits.
max_export_timeout30sThe timeout in seconds for sending spans before dropping the data.
max_queue_size5The maximum number of spans to be buffered before dropping span data.

Jaeger configuration reference

AttributeDefaultDescription
enabledfalseEnable the OTLP exporter.
collectorCollector specific settings.
agentAgent specific settings.
batch_processorThe batch processor settings.

Agent configuration

If you are running Jaeger agent then use the agent configuration to set the agent endpoint. For example:

router.yaml
telemetry:
exporters:
tracing:
jaeger:
enabled: true
# Optional agent configuration,
agent:
# Optional endpoint, either 'default' or a socket address (Defaults to 127.0.0.1:6832)
endpoint: "${env.JAEGER_HOST}:6832"

Jaeger agent configuration reference

AttributeDefaultDescription
endpointfalseEnable the OTLP exporter.

Collector configuration

If you are running Jaeger collector then use the collector configuration to set the agent endpoint. For example:

router.yaml
telemetry:
exporters:
tracing:
jaeger:
enabled: true
# Optional collector configuration,
collector:
# Optional endpoint, either 'default' or a URL (Defaults to http://127.0.0.1:14268/api/traces)
endpoint: "http://${env.JAEGER_HOST}:14268/api/traces"
username: "${env.JAEGER_USERNAME}"
password: "${env.JAEGER_PASSWORD}"

Jaeger Collector configuration reference

AttributeDefaultDescription
endpointfalseEnable the OTLP exporter.
usernameThe username for Jaeger collector.
passwordThe password for Jaeger collector.
Previous
Datadog
Next
New Relic
Edit on GitHubEditForumsDiscord

© 2024 Apollo Graph Inc.

Privacy Policy

Company