General SDK Configuration
Note
Support for environment variables is optional. For detailed information on which environment variables each language implementation supports, please consult the Implementation Compliance Matrix.OTEL_SERVICE_NAME
Sets the value of the service.name
resource attribute.
Default value: "unknown_service"
If service.name
is also provided in OTEL_RESOURCE_ATTRIBUTES
, then
OTEL_SERVICE_NAME
takes precedence.
Example:
export OTEL_SERVICE_NAME="your-service-name"
OTEL_RESOURCE_ATTRIBUTES
Key-value pairs to be used as resource attributes. See Resource SDK for more details.
Default value: Empty.
See Resource semantic conventions for semantic conventions to follow for common resource types.
Example:
export OTEL_RESOURCE_ATTRIBUTES="key1=value1,key2=value2"
OTEL_TRACES_SAMPLER
Specifies the Sampler used to sample traces by the SDK.
Default value: "parentbased_always_on"
Example:
export OTEL_TRACES_SAMPLER="traceidratio"
Accepted values for OTEL_TRACES_SAMPLER
are:
"always_on"
:AlwaysOnSampler
"always_off"
:AlwaysOffSampler
"traceidratio"
:TraceIdRatioBased
"parentbased_always_on"
:ParentBased(root=AlwaysOnSampler)
"parentbased_always_off"
:ParentBased(root=AlwaysOffSampler)
"parentbased_traceidratio"
:ParentBased(root=TraceIdRatioBased)
"parentbased_jaeger_remote"
:ParentBased(root=JaegerRemoteSampler)
"jaeger_remote"
:JaegerRemoteSampler
"xray"
: AWS X-Ray Centralized Sampling (third party)
OTEL_TRACES_SAMPLER_ARG
Specifies arguments, if applicable, to the sampler defined in by
OTEL_TRACES_SAMPLER
. The specified value will only be used if
OTEL_TRACES_SAMPLER
is set. Each Sampler type defines its own expected input,
if any. Invalid or unrecognized input is logged as an error.
Default value: Empty.
Example:
export OTEL_TRACES_SAMPLER="traceidratio"
export OTEL_TRACES_SAMPLER_ARG="0.5"
Depending on the value of OTEL_TRACES_SAMPLER
, OTEL_TRACES_SAMPLER_ARG
may
be set as follows:
- For
traceidratio
andparentbased_traceidratio
samplers: Sampling probability, a number in the [0..1] range, e.g. “0.25”. Default is 1.0 if unset. - For
jaeger_remote
andparentbased_jaeger_remote
: The value is a comma separated list:- Example:
"endpoint=http://localhost:14250,pollingIntervalMs=5000,initialSamplingRate=0.25"
endpoint
: the endpoint in form ofscheme://host:port
of gRPC server that serves the sampling strategy for the service (sampling.proto).pollingIntervalMs
: in milliseconds indicating how often the sampler will poll the backend for updates to sampling strategy.initialSamplingRate
: in the [0..1] range, which is used as the sampling probability when the backend cannot be reached to retrieve a sampling strategy. This value stops having an effect once a sampling strategy is retrieved successfully, as the remote strategy will be used until a new update is retrieved.
- Example:
OTEL_PROPAGATORS
Specifies Propagators to be used in a comma-separated list.
Default value: `“tracecontext,baggage”
Example:
export OTEL_PROPAGATORS="b3"
Accepted values for OTEL_PROPAGATORS
are:
"tracecontext"
: W3C Trace Context"baggage"
: W3C Baggage"b3"
: B3 Single"b3multi"
: B3 Multi"jaeger"
: Jaeger"xray"
: AWS X-Ray (third party)"ottrace"
: OT Trace (third party)"none"
: No automatically configured propagator.
OTEL_TRACES_EXPORTER
Specifies which exporter is used for traces.
Default value: "otlp"
Example:
export OTEL_TRACES_EXPORTER="jaeger"
Accepted values for are:
"otlp"
: OTLP"jaeger"
: export in Jaeger data model"zipkin"
: Zipkin"none"
: No automatically configured exporter for traces.
OTEL_METRICS_EXPORTER
Specifies which exporter is used for metrics.
Default value: "otlp"
Example:
export OTEL_METRICS_EXPORTER="prometheus"
Accepted values for OTEL_METRICS_EXPORTER
are:
"otlp"
: OTLP"prometheus"
: Prometheus"none"
: No automatically configured exporter for metrics.
OTEL_LOGS_EXPORTER
Specifies which exporter is used for logs.
Default value: "otlp"
Example:
export OTEL_LOGS_EXPORTER="otlp"
Accepted values for OTEL_LOGS_EXPORTER
are:
"otlp"
: OTLP"none"
: No automatically configured exporter for logs.