HTTP configuration options

edit

capture_body_content_types ( [1.5.0] Added in 1.5.0. performance)

edit

Configures which content types should be recorded.

The defaults end with a wildcard so that content types like text/plain; charset=utf-8 are captured as well.

This option supports the wildcard *, which matches zero or more characters. Examples: /foo/*/bar/*/baz*, *foo*. Matching is case insensitive by default. Prepending an element with (?-i) makes the matching case sensitive.

dynamic config

Default Type Dynamic

application/x-www-form-urlencoded*, text/*, application/json*, application/xml*

List

true

Java System Properties Property file Environment

elastic.apm.capture_body_content_types

capture_body_content_types

ELASTIC_APM_CAPTURE_BODY_CONTENT_TYPES

transaction_ignore_urls

edit

Used to restrict requests to certain URLs from being instrumented.

This property should be set to an array containing one or more strings. When an incoming HTTP request is detected, its URL will be tested against each element in this list.

This option supports the wildcard *, which matches zero or more characters. Examples: /foo/*/bar/*/baz*, *foo*. Matching is case insensitive by default. Prepending an element with (?-i) makes the matching case sensitive.

dynamic config

Default Type Dynamic

/VAADIN/*, /heartbeat*, /favicon.ico, *.js, *.css, *.jpg, *.jpeg, *.png, *.gif, *.webp, *.svg, *.woff, *.woff2

List

true

Java System Properties Property file Environment

elastic.apm.transaction_ignore_urls

transaction_ignore_urls

ELASTIC_APM_TRANSACTION_IGNORE_URLS

transaction_ignore_user_agents ( [1.22.0] Added in 1.22.0. )

edit

Used to restrict requests from certain User-Agents from being instrumented.

When an incoming HTTP request is detected, the User-Agent from the request headers will be tested against each element in this list. Example: curl/*, *pingdom*

This option supports the wildcard *, which matches zero or more characters. Examples: /foo/*/bar/*/baz*, *foo*. Matching is case insensitive by default. Prepending an element with (?-i) makes the matching case sensitive.

dynamic config

Default Type Dynamic

<none>

List

true

Java System Properties Property file Environment

elastic.apm.transaction_ignore_user_agents

transaction_ignore_user_agents

ELASTIC_APM_TRANSACTION_IGNORE_USER_AGENTS

use_path_as_transaction_name ( [1.0.0] Added in 1.0.0. Changing this value at runtime is possible since version 1.22.0 )

edit

If set to true, transaction names of unsupported or partially-supported frameworks will be in the form of $method $path instead of just $method unknown route.

If your URLs contain path parameters like /user/$userId, you should be very careful when enabling this flag, as it can lead to an explosion of transaction groups. Take a look at the transaction_name_groups option on how to mitigate this problem by grouping URLs together.

dynamic config

Default Type Dynamic

false

Boolean

true

Java System Properties Property file Environment

elastic.apm.use_path_as_transaction_name

use_path_as_transaction_name

ELASTIC_APM_USE_PATH_AS_TRANSACTION_NAME

url_groups (deprecated)

edit

Deprecated in favor of transaction_name_groups.

This option is only considered, when use_path_as_transaction_name is active.

With this option, you can group several URL paths together by using a wildcard expression like /user/*.

This option supports the wildcard *, which matches zero or more characters. Examples: /foo/*/bar/*/baz*, *foo*. Matching is case insensitive by default. Prepending an element with (?-i) makes the matching case sensitive.

dynamic config

Default Type Dynamic

<none>

List

true

Java System Properties Property file Environment

elastic.apm.url_groups

url_groups

ELASTIC_APM_URL_GROUPS

capture_http_client_request_body_size ( [1.52.0] Added in 1.52.0. experimental)

edit

This feature is currently experimental, which means it is disabled by default and it is not guaranteed to be backwards compatible in future releases.

Configures that the first n bytes of http-client request bodies shall be captured. Note that only request bodies will be captured for content types matching the transaction_name_groups configuration. The maximum allowed value is 1024, a value of 0 disables body capturing.

Currently only support for Apache Http Client v4 and v5, HttpUrlConnection, Spring Webflux WebClient and other frameworks building on top of these (e.g. Spring RestTemplate).

The body will be stored in the labels.http_request_body_content field on the span documents.

dynamic config

Default Type Dynamic

0

Integer

true

Java System Properties Property file Environment

elastic.apm.capture_http_client_request_body_size

capture_http_client_request_body_size

ELASTIC_APM_CAPTURE_HTTP_CLIENT_REQUEST_BODY_SIZE