Configure transaction metrics

edit

This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview 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

enabled

edit

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.

interval

edit

Controls the frequency of metrics publication.

Default: 1m.

max_groups

edit

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_figures

edit

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_size

edit

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_unsampled

edit

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.