Jaeger exporter (via OTLP)
Configure the Jaeger exporter for tracing
Enable and configure the Jaeger exporter for tracing in the GraphOS Router or Apollo Router Core.
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:
1docker run --name jaeger \
2 -e COLLECTOR_OTLP_ENABLED=true \
3 -p 16686:16686 \
4 -p 4317:4317 \
5 -p 4318:4318 \
6 jaegertracing/all-in-one:1.35
To configure the router to send traces via OTLP, set the Jaeger endpoint with port 4317. For example:
1telemetry:
2 exporters:
3 tracing:
4 otlp:
5 enabled: true
6 # Optional endpoint, either 'default' or a URL (Defaults to http://127.0.0.1:4317)
7 endpoint: "http://${env.JAEGER_HOST}:4317"
See OTLP configuration for more details on settings.
Jaeger Native configuration
The 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.
1telemetry:
2 exporters:
3 tracing:
4 jaeger:
5 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.
1telemetry:
2 exporters:
3 tracing:
4 jaeger:
5 batch_processor:
6 max_export_batch_size: 512
7 max_concurrent_exports: 1
8 max_export_timeout: 30s
9 max_queue_size: 2048
10 scheduled_delay: 5s
batch_processor
configuration reference
Attribute | Default | Description |
---|---|---|
scheduled_delay | 5s | The delay in seconds from receiving the first span to sending the batch. |
max_concurrent_exports | 1 | The maximum number of overlapping export requests. |
max_export_batch_size | 512 | The number of spans to include in a batch. May be limited by maximum message size limits. |
max_export_timeout | 30s | The timeout in seconds for sending spans before dropping the data. |
max_queue_size | 2048 | The maximum number of spans to be buffered before dropping span data. |
Jaeger configuration reference
Attribute | Default | Description |
---|---|---|
enabled | false | Enable the OTLP exporter. |
collector | Collector specific settings. | |
agent | Agent specific settings. | |
batch_processor | The batch processor settings. |
Agent configuration
If you are running Jaeger agent then use the agent
configuration to set the agent endpoint. For example:
1telemetry:
2 exporters:
3 tracing:
4 jaeger:
5 enabled: true
6 # Optional agent configuration,
7 agent:
8 # Optional endpoint, either 'default' or a socket address (Defaults to 127.0.0.1:6832)
9 endpoint: "${env.JAEGER_HOST}:6832"
Jaeger agent configuration reference
Attribute | Default | Description |
---|---|---|
endpoint | false | Enable the OTLP exporter. |
Collector configuration
If you are running Jaeger collector then use the collector
configuration to set the agent endpoint. For example:
1telemetry:
2 exporters:
3 tracing:
4 jaeger:
5 enabled: true
6 # Optional collector configuration,
7 collector:
8 # Optional endpoint, either 'default' or a URL (Defaults to http://127.0.0.1:14268/api/traces)
9 endpoint: "http://${env.JAEGER_HOST}:14268/api/traces"
10 username: "${env.JAEGER_USERNAME}"
11 password: "${env.JAEGER_PASSWORD}"
Jaeger Collector configuration reference
Attribute | Default | Description |
---|---|---|
endpoint | false | Enable the OTLP exporter. |
username | The username for Jaeger collector. | |
password | The password for Jaeger collector. |