Note: The environment variables/system properties in this document are very likely to change over time. Please check back here when trying out a new version!
Please report any bugs or unexpected behavior you find.
- SDK Autoconfiguration
- Configuring the agent
- Peer service name
- DB statement sanitization
- Suppressing specific auto-instrumentation
The SDK's autoconfiguration module is used for basic configuration of the agent. Read the docs to find settings such as configuring export or sampling.
Here are some quick links into those docs for the configuration options for specific portions of the SDK & agent:
- Exporters
- Trace context propagation
- OpenTelemetry Resource and service name
- Batch span processor
- Sampler
- Span limits
- Using SPI to further configure the SDK
The agent can consume configuration from one or more of the following sources (ordered from highest to lowest priority):
- system properties
- environment variables
- the configuration file
- the
ConfigPropertySource
SPI
You can provide a path to agent configuration file by setting the corresponding property.
System property | Environment variable | Description |
---|---|---|
otel.javaagent.configuration-file |
OTEL_JAVAAGENT_CONFIGURATION_FILE |
Path to valid Java properties file which contains the javaagent configuration. |
You can enable extensions by setting the corresponding property.
System property | Environment variable | Description |
---|---|---|
otel.javaagent.extensions |
OTEL_JAVAAGENT_EXTENSIONS |
Path to a an extension jar file or folder, containing jar files. If pointing to a folder, every jar file in that folder will be treated as separate, independent extension |
The peer service name is the name of a remote service being connected to. It corresponds to service.name
in the Resource for the local service.
System property | Environment variable | Description |
---|---|---|
otel.instrumentation.common.peer-service-mapping |
OTEL_INSTRUMENTATION_COMMON_PEER_SERVICE_MAPPING |
Used to specify a mapping from hostnames or IP addresses to peer services, as a comma-separated list of host=name pairs. The peer service is added as an attribute to a span whose host or IP match the mapping. For example, if set to 1.2.3.4=cats-service,dogs-abcdef123.serverlessapis.com=dogs-api, requests to 1.2.3.4 will have a peer.service attribute of cats-service and requests to dogs-abcdef123.serverlessapis.com will have an attribute of dogs-api . |
The agent sanitizes all database queries/statements before setting the db.statement
semantic attribute:
all values (strings, numbers) in the query string are replaced with a question mark ?
.
Examples:
- SQL query
SELECT a from b where password="secret"
will appear asSELECT a from b where password=?
in the exported span; - Redis command
HSET map password "secret"
will appear asHSET map password ?
in the exported span.
This behavior is turned on by default for all database instrumentations. The following property may be used to disable it:
System property | Environment variable | Description |
---|---|---|
otel.instrumentation.common.db-statement-sanitizer.enabled |
OTEL_INSTRUMENTATION_COMMON_DB_STATEMENT_SANITIZER_ENABLED |
Enables the DB statement sanitization. The default value is true . |