Skip to content

Latest commit

 

History

History
64 lines (45 loc) · 5.31 KB

File metadata and controls

64 lines (45 loc) · 5.31 KB

Common instrumentation configuration

Common settings that apply to multiple instrumentations at once.

Peer service name

The peer service name is the name of a remote service to which a connection is made. 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 host names or IP addresses to peer services, as a comma-separated list of <host_or_ip>=<user_assigned_name> pairs. The peer service is added as an attribute to a span whose host or IP address 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.

DB statement sanitization

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 as SELECT a from b where password=? in the exported span;
  • Redis command HSET map password "secret" will appear as HSET map password ? in the exported span.

This behavior is turned on by default for all database instrumentations. Use the following property 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.

Capturing HTTP request and response headers

You can configure the agent to capture predefined HTTP headers as span attributes, according to the semantic convention. Use the following properties to define which HTTP headers you want to capture:

System property Environment variable Description
otel.instrumentation.http.capture-headers.client.request OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_CLIENT_REQUEST A comma-separated list of HTTP header names. HTTP client instrumentations will capture HTTP request header values for all configured header names.
otel.instrumentation.http.capture-headers.client.response OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_CLIENT_RESPONSE A comma-separated list of HTTP header names. HTTP client instrumentations will capture HTTP response header values for all configured header names.
otel.instrumentation.http.capture-headers.server.request OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_REQUEST A comma-separated list of HTTP header names. HTTP server instrumentations will capture HTTP request header values for all configured header names.
otel.instrumentation.http.capture-headers.server.response OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_RESPONSE A comma-separated list of HTTP header names. HTTP server instrumentations will capture HTTP response header values for all configured header names.

These configuration options are supported by all HTTP client and server instrumentations.

Note: The property/environment variable names listed in the table are still experimental, and thus are subject to change.

Capturing servlet request parameters

You can configure the agent to capture predefined HTTP request parameter as span attributes for requests that are handled by Servlet API. Use the following property to define which servlet request parameters you want to capture:

System property Environment variable Description
otel.instrumentation.servlet.experimental.capture-request-parameters OTEL_INSTRUMENTATION_SERVLET_EXPERIMENTAL_CAPTURE_REQUEST_PARAMETERS A comma-separated list of request parameter names.

Note: The property/environment variable names listed in the table are still experimental, and thus are subject to change.