Configure transaction metricsedit

This functionality is experimental and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but experimental features are not subject to the support SLA of official GA features.

When enabled, APM Server produces transaction histogram metrics that are used to power the APM app. Shifting this responsibility from APM app to APM Server results in improved query performance and removes the need to store unsampled transactions.

Example config file:

apm-server:
  aggregation:
    transactions:
      enabled: true
      interval: 1m
  sampling:
    keep_unsampled: false

Configuration options: apm-server.aggregation.transactions.*edit

enablededit

Enables the collection and publishing of transaction metrics. This setting improves query performance in the APM app.

Default: false.

To prevent inaccuracies in the APM app, transaction metrics must also be enabled in Kibana with xpack.apm.searchAggregatedTransactions. See APM app settings for more information.

intervaledit

Controls the frequency of metrics publication.

Default: 1m.

max_groupsedit

Maximum number of transaction groups to keep track of. Once exceeded, APM Server devolves into recording a metrics document for each transaction that is not in one of the transaction groups being tracked.

Default: 1000.

hdrhistogram_significant_figuresedit

The fixed, worst-case percentage error (specified as a number of significant digits) to maintain for recorded metrics. Supported values are 1 through 5. See HDR histogram for more information.

Default: 2.

rum.user_agent.lru_sizeedit

This option controls the cache size of RUM user-agent strings.

RUM "page-load" transactions are aggregated on the user-agent name, which requires user-agent parsing. To avoid parsing every user-agent, a cache of user-agent strings is maintained.

Default: 5000.

Configuration options: apm-server.sampling.*edit

keep_unsamplededit

Controls the recording of unsampled transaction documents. Dropping unsampled documents (keep_unsampled: false) reduces APM’s storage consumption.

Default: true.

Unsampled transactions should only be dropped when apm-server.aggregation.transactions.enabled is true, otherwise, the APM app will report inaccurate metrics.