|Data format and transport for reporting spans to Jaeger backend|
jaeger.thrift, Compact protocol, over UDP
jaeger.thrift, Binary protocol, over UDP
jaeger.thrift, Binary protocol, over TCP (HTTP)
|Report Zipkin Thrift, Binary protocol, over TCP (HTTP)||✅||✅||❌||❌||❌||❌|
|Uber’s original headers||✅||✅||✅||✅||✅||✅|
|Zipkin’s B3 headers||✅||✅||✅||✅||❌||✅|
|W3C Trace Context headers||coming||✅||coming||coming||coming||coming|
|Support inbound |
|when there is no trace||when there is no trace||❔||✅||❔||when there is no trace|
|Accept baggage from |
|when there is no trace||❌||❔||✅||❔||❌|
|Support for 128bit Trace ID||✅||✅||✅||✅||✅||✅|
|Support standard tracer metrics (number of spans started, finished, reported, etc.)||✅||✅||✅||✅||❔||✅|
|Support standard RPC metrics||✅||❌||❌||❌||❌||❌|
|Metrics in Prometheus format||✅||✅||❌||✅||❔||❔|
|Support declarative tracer configuration||✅||✅||✅||✅||❔||✅|
|Allow configuring tracer tags, aka process tags||✅||✅||✅||✅||❔||✅|
|Allow remote configuration of samplers||✅||✅||✅||✅||✅||✅|
|Remotely configurable adaptive sampler||✅||✅||✅||✅||✅||✅|
|Remotely configurable baggage restrictions||✅||coming||coming||coming||❌||coming|
JAEGER_SERVICE_NAME defines service name that will be associated with the emitted spans.
JAEGER_TAGS defines a comma-separated list of static tags, aka “tracer tags”, e.g.
hostname=foobar,my.app.version=1.2.3. These tags are added as the
Process tags to each span.
JAEGER_DISABLED (not recommended) when set to true, instructs the Configuration to return a no-op tracer. Neither trace/span IDs nor baggage will be propagated with a no-op tracer. Instead of disabling the tracer completely, use
const sampler with
0 param, which will minimize the overhead but keep the propagation going.
JAEGER_AGENT_HOST defines hostname for reporting spans over UDP/Thrift. To avoid packet loss, the agent is expected to run on the same machine as the application. This var is useful when there are multiple networking namespaces on the host.
JAEGER_AGENT_PORT defines port for reporting spans over UDP/Thrift.
JAEGER_ENDPOINT defines the URL for reporting spans via HTTP/Thrift. This setting allows for a deployment mode where spans are submitted directly to the collector.
JAEGER_AUTH_TOKEN defines an optional auth token when reporting over HTTP.
JAEGER_USER can be used for basic authentication when reporting over HTTP.
JAEGER_PASSWORD can be used for basic authentication when using reporting over HTTP.
JAEGER_REPORTER_LOG_SPANS instructs the Reporter to log finished span IDs. The reporter may need to be given a Logger for this option to take effect.
JAEGER_REPORTER_MAX_QUEUE_SIZE defines the max size of the in-memory buffer used to keep spans before they are sent out.
JAEGER_REPORTER_FLUSH_INTERVAL defines how frequently the report flushes span batches. Reporter can also flush the batch if the batch size reaches the maximum UDP packet size (~64Kb).
JAEGER_SAMPLER_TYPE defines the type of sampler to use, e.g.
const (see Sampling).
JAEGER_SAMPLER_PARAM provides configuration value to the sampler, e.g.
probability=0.001 (see Sampling).
JAEGER_SAMPLER_MANAGER_HOST_PORT defines the address of HTTP server that services client configuration, such as sampling strategies, baggage restrictions, throttling config, etc. The variable name is a legacy misnomer from the time when the server only provided the sampling strategies. At the moment only
jaeger-agent implements this REST API.
JAEGER_SAMPLER_REFRESH_INTERVAL defines how often the sampler polls the config server for updates to the samling strategies.
JAEGER_SAMPLER_MAX_OPERATIONS instructs the adaptive sampler to limit how many distinct operation names the sampler will track, to avoid unbound memory usage.
JAEGER_PROPAGATION defines the propagation format used by the tracer. Supported values are
jaeger (defined here),
b3 (defined here) and
w3c (defined here)
JAEGER_TRACEID_128BIT if true, instructs the tracer to generate 128bit trace IDs instead of the default 64bit. In the future 128bit will become the default.
JAEGER_RPC_METRICS when true, enables additional generation of RPC metrics from the tracing instrumentation. This is an experimental feature in the Go client. See also https://github.com/opentracing-contrib/java-metrics.