IMPORTANT: No additional bug fixes or documentation updates
will be released for this version. For the latest information, see the
current release documentation.
Property file reference
editProperty file reference
editelasticapm.properties.
############################################ # Core # ############################################ # A boolean specifying if the agent should be active or not. If active, the agent will instrument incoming HTTP requests and track errors. # # You can use this setting to dynamically disable Elastic APM at runtime. # # This setting can be changed at runtime # Type: Boolean # Default value: true # # active=true # A boolean specifying if the agent should instrument the application to collect performance metrics for the app. When set to false, Elastic APM will not affect your application at all. # # NOTE: Both active and instrument needs to be true for instrumentation to be running. # # This setting can not be changed at runtime. Changes require a restart of the application. # Type: Boolean # Default value: true # # instrument=true # The name of your service # # This is used to keep all the errors and transactions of your service together # and is the primary filter in the Elastic APM user interface. # # NOTE: The service name must conform to this regular expression: ^[a-zA-Z0-9 _-]+$. In less regexy terms: Your service name must only contain characters from the ASCII alphabet, numbers, dashes, underscores and spaces. # # This setting can not be changed at runtime. Changes require a restart of the application. # Type: String # Default value: Name of main class or jar # # service_name=Name of main class or jar # A version string for the currently deployed version of the service. If you don’t version your deployments, the recommended value for this field is the commit identifier of the deployed revision, e.g. the output of git rev-parse HEAD. # # This setting can not be changed at runtime. Changes require a restart of the application. # Type: String # Default value: # # service_version= # The name of the environment this service is deployed in, e.g. "production" or "staging".NOTE: The APM UI does not fully support the environment setting yet. # You can use the query bar to filter for a specific environment, # but by default the environments will be mixed together. # Also keep that in mind when creating alerts. # # This setting can not be changed at runtime. Changes require a restart of the application. # Type: String # Default value: # # environment= # By default, the agent will sample every transaction (e.g. request to your service). To reduce overhead and storage requirements, you can set the sample rate to a value between 0.0 and 1.0. We still record overall time and the result for unsampled transactions, but no context information, tags, or spans. # # This setting can be changed at runtime # Type: Double # Default value: 1.0 # # transaction_sample_rate=1.0 # Limits the amount of spans that are recorded per transaction. # # This is helpful in cases where a transaction creates a very high amount of spans (e.g. thousands of SQL queries). # # Setting an upper limit will prevent overloading the agent and the APM server with too much work for such edge cases. # # This setting can be changed at runtime # Type: Integer # Default value: 500 # # transaction_max_spans=500 # Sometimes it is necessary to sanitize the data sent to Elastic APM, # e.g. remove sensitive data. # # Configure a list of wildcard patterns of field names which should be sanitized. # These apply for example to HTTP headers and `application/x-www-form-urlencoded` data. # # # NOTE: A wildcard expression may either contain a single wildcard in the middle or have wildcards at the beginning and/or the end. Legal: `*foo*`, `foo*`, `*foo`, `foo*bar*`. Illegal: `foo*bar*`, `foo*bar*baz`. # Prepending an element with `(?i)` makes the matching case-insensitive. # # NOTE: Data in the query string is considered non-sensitive, # as sensitive information should not be sent in the query string. # See https://www.owasp.org/index.php/Information_exposure_through_query_strings_in_url for more information # # NOTE: Review the data captured by Elastic APM carefully to make sure it does not capture sensitive information. # If you do find sensitive data in the Elasticsearch index, # you should add an additional entry to this list (make sure to also include the default entries). # # This setting can be changed at runtime # Type: comma separated list # Default value: (?i)password,(?i)passwd,(?i)pwd,(?i)secret,(?i)token,(?i)*key,(?i)*token,(?i)*session*,(?i)*credit*,(?i)*card*,(?i)authorization,(?i)set-cookie # # sanitize_field_names=(?i)password,(?i)passwd,(?i)pwd,(?i)secret,(?i)token,(?i)*key,(?i)*token,(?i)*session*,(?i)*credit*,(?i)*card*,(?i)authorization,(?i)set-cookie # A list of instrumentations which should be disabled. # Valid options are `jdbc`, `servlet-api`, `servlet-api-async`, `spring-mvc`, `http-client`, `apache-httpclient`,`spring-resttemplate` and `incubating`. # If you want to try out incubating features, # set the value to an empty string. # # This setting can not be changed at runtime. Changes require a restart of the application. # Type: comma separated list # Default value: incubating # # disable_instrumentations=incubating ############################################ # HTTP # ############################################ # For transactions that are HTTP requests, the Java agent can optionally capture the request body (e.g. POST variables). # # If the request has a body and this setting is disabled, the body will be shown as [REDACTED]. # # This option is case-insensitive. # NOTE: Currently, only `application/x-www-form-urlencoded` (form parameters) are supported. # Forms which include a file upload (`multipart/form-data`) are not supported. # # WARNING: request bodies often contain sensitive values like passwords, credit card numbers etc.If your service handles data like this, we advise to only enable this feature with care. # # Valid options: off, errors, transactions, all # This setting can be changed at runtime # Type: EventType # Default value: OFF # # capture_body=OFF # 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. # # NOTE: A wildcard expression may either contain a single wildcard in the middle or have wildcards at the beginning and/or the end. Legal: `*foo*`, `foo*`, `*foo`, `foo*bar*`. Illegal: `foo*bar*`, `foo*bar*baz`. # Prepending an element with `(?i)` makes the matching case-insensitive. # # NOTE: All errors that are captured during a request to an ignored URL are still sent to the APM Server regardless of this setting. # # This setting can be changed at runtime # Type: comma separated list # Default value: /VAADIN/*,(?i)/heartbeat/*,/favicon.ico,*.js,*.css,*.jpg,*.jpeg,*.png,*.webp,*.svg,*.woff,*.woff2 # # ignore_urls=/VAADIN/*,(?i)/heartbeat/*,/favicon.ico,*.js,*.css,*.jpg,*.jpeg,*.png,*.webp,*.svg,*.woff,*.woff2 # 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/*, (?i)*pingdom*` # # NOTE: A wildcard expression may either contain a single wildcard in the middle or have wildcards at the beginning and/or the end. Legal: `*foo*`, `foo*`, `*foo`, `foo*bar*`. Illegal: `foo*bar*`, `foo*bar*baz`. # Prepending an element with `(?i)` makes the matching case-insensitive. # # NOTE: All errors that are captured during a request by an ignored user agent are still sent to the APM Server regardless of this setting. # # This setting can be changed at runtime # Type: comma separated list # Default value: # # ignore_user_agents= # If set to `true`, # transaction names of unsupported Servlet API-based frameworks will be in the form of `$method $path` instead of just `$method`. # # WARNING: 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 `url_groups` option on how to mitigate this problem by grouping URLs together. # # This setting can not be changed at runtime. Changes require a restart of the application. # Type: Boolean # Default value: false # # use_path_as_transaction_name=false # 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/*`. # # NOTE: A wildcard expression may either contain a single wildcard in the middle or have wildcards at the beginning and/or the end. Legal: `*foo*`, `foo*`, `*foo`, `foo*bar*`. Illegal: `foo*bar*`, `foo*bar*baz`. # Prepending an element with `(?i)` makes the matching case-insensitive. # # This setting can be changed at runtime # Type: comma separated list # Default value: # # url_groups= ############################################ # Logging # ############################################ # Sets the logging level for the agent. # # This option is case-insensitive. # # Valid options: ERROR, WARN, INFO, DEBUG, TRACE # This setting can be changed at runtime # Type: Level # Default value: INFO # # log_level=INFO # Sets the path of the agent logs. # The special value `_AGENT_HOME_` is a placeholder for the folder the elastic-apm-agent.jar is in. # Example: `_AGENT_HOME_/logs/elastic-apm.log` # # When set to the special value 'System.out', # the logs are sent to standard out. # # NOTE: When logging to a file, # it's content is deleted when the application starts. # # This setting can not be changed at runtime. Changes require a restart of the application. # Type: String # Default value: System.out # # log_file=System.out # A boolean specifying if the agent should integrate into SLF4J's MDC to enable trace-log correlation. # If set to `true`, the agent will set the `spanId` and `traceId` for the currently active spans and transactions to the MDC. # You can then use the pattern format of your logging implementation to write the MDC values to your log file. # With the help of Filebeat and Logstash or an Elasticsearch ingest pipeline, # you can index your log files and correlate them with APM traces. # With this integration you can get all logs belonging to a particular trace and vice-versa: # for a specific log, see in which context it has been logged and which parameters the user provided. # While it's allowed to enable this setting at runtime, you can't disable it without a restart. # # NOTE: This is an incubating feature and the MDC key names might change. # # This setting can be changed at runtime # Type: Boolean # Default value: false # # enable_log_correlation=false ############################################ # Reporter # ############################################ # This string is used to ensure that only your agents can send data to your APM server. # # Both the agents and the APM server have to be configured with the same secret token. # Use if APM Server requires a token. # # This setting can not be changed at runtime. Changes require a restart of the application. # Type: String # Default value: # # secret_token= # The URLs for your APM Servers # # The URLs must be fully qualified, including protocol (http or https) and port. # # NOTE: Providing multiple URLs only works if intake API v2 is enabled. # # This setting can not be changed at runtime. Changes require a restart of the application. # Type: comma separated list # Default value: http://localhost:8200 # # server_urls=http://localhost:8200 # Server timeout # # If a request to the APM server takes longer than the configured timeout, # the request is cancelled and the event (exception or transaction) is discarded. # Set to 0 to disable timeouts. # # WARNING: If timeouts are disabled or set to a high value, your app could experience memory issues if the APM server times out. # # This setting can not be changed at runtime. Changes require a restart of the application. # Type: TimeDuration # Supports the duration suffixes ms, s and m. Example: 5s. # The default unit for this option is s. # Default value: 5s # # server_timeout=5s # By default, the agent verifies the SSL certificate if you use an HTTPS connection to the APM server. # # Verification can be disabled by changing this setting to false. # # This setting can not be changed at runtime. Changes require a restart of the application. # Type: Boolean # Default value: true # # verify_server_cert=true # Interval with which transactions should be sent to the APM server. # # A lower value will increase the load on your APM server, # while a higher value can increase the memory pressure on your app. # # A higher value also impacts the time until transactions are indexed and searchable in Elasticsearch. # # This setting can not be changed at runtime. Changes require a restart of the application. # Type: TimeDuration # Supports the duration suffixes ms, s and m. Example: 1s. # The default unit for this option is s. # Default value: 1s # # flush_interval=1s # Maximum queue length of transactions before sending transactions to the APM server. # # A lower value will increase the load on your APM server, # while a higher value can increase the memory pressure of your app. # # A higher value also impacts the time until transactions are indexed and searchable in Elasticsearch. # # This setting is useful to limit memory consumption if you experience a sudden spike of traffic. # # This setting can be changed at runtime # Type: Integer # Default value: 500 # # max_queue_size=500 # Whether each transaction should have the process arguments attached. # Disabled by default to save disk space. # # This setting can not be changed at runtime. Changes require a restart of the application. # Type: Boolean # Default value: false # # include_process_args=false ############################################ # Stacktrace # ############################################ # Used to determine whether a stack trace frame is an 'in-app frame' or a 'library frame'. # # This setting can be changed at runtime # Type: comma separated list # Default value: # # application_packages= # Setting it to 0 will disable stack trace collection. Any positive integer value will be used as the maximum number of frames to collect. Setting it -1 means that all frames will be collected. # # This setting can be changed at runtime # Type: Integer # Default value: 50 # # stack_trace_limit=50 # In its default settings, the APM agent will collect a stack trace with every recorded span. # While this is very helpful to find the exact place in your code that causes the span, collecting this stack trace does have some overhead. # When setting this option to `-1`, stack traces will be collected for all spans. Setting it to a positive value, e.g. `5ms`, will limit stack trace collection to spans with durations equal or longer than the given value, e.g. 5 milliseconds. # # To disable stack trace collection for spans completely, set the value to 0. # # This setting can be changed at runtime # Type: TimeDuration # Supports the duration suffixes ms, s and m. Example: 5ms. # The default unit for this option is ms. # Default value: 5ms # # span_frames_min_duration=5ms