65 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
| # Common instrumentation configuration
 | |
| 
 | |
| Common settings that apply to multiple instrumentations at once.
 | |
| 
 | |
| ## Peer service name
 | |
| 
 | |
| The [peer service name](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/span-general.md#general-remote-service-attributes)
 | |
| is the name of a remote service to which a connection is made. It corresponds to `service.name` in
 | |
| the [Resource](https://github.com/open-telemetry/opentelemetry-specification/tree/main/specification/resource/semantic_conventions#service)
 | |
| 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](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/http.md#http-request-and-response-headers).
 | |
| 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.
 |