Skip to content

Commit c7f55b0

Browse files
bmorelli25axw
andauthored
docs: Transaction metrics reference (#4345)
Co-authored-by: Andrew Wilkins <[email protected]>
1 parent ecd8b20 commit c7f55b0

File tree

4 files changed

+132
-26
lines changed

4 files changed

+132
-26
lines changed

docs/configure-kibana-endpoint.asciidoc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
[[setup-kibana-endpoint]]
22
== Configure the Kibana endpoint
33

4+
++++
5+
<titleabbrev>Kibana endpoint</titleabbrev>
6+
++++
7+
48
Configuring the Kibana endpoint is required for
59
{kibana-ref}/agent-configuration.html[APM Agent configuration in Kibana].
610
You configure the endpoint in the `apm-server.kibana` section of the

docs/configuring.asciidoc

Lines changed: 30 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,48 @@
1010
include::{libbeat-dir}/shared/configuring-intro.asciidoc[]
1111

1212
* <<configuration-process>>
13-
* <<configuring-output>>
14-
* <<configuration-ssl-landing>>
1513
* <<configuration-template>>
1614
* <<ilm-reference>>
15+
* <<configuration-instrumentation>>
1716
* <<jaeger-reference>>
18-
* <<configuration-logging>>
17+
* <<configuration-kerberos>>
1918
* <<setup-kibana-endpoint>>
20-
* <<configuration-rum>>
21-
* <<configuration-instrumentation>>
19+
* <<configuration-logging>>
20+
* <<configuring-output>>
2221
* <<configuration-path>>
22+
* <<configuration-rum>>
23+
* <<configuration-ssl-landing>>
24+
* <<transaction-metrics>>
2325
* <<using-environ-vars>>
2426

2527
--
2628

2729
include::./configuration-process.asciidoc[]
2830

31+
include::{libbeat-dir}/template-config.asciidoc[]
32+
33+
include::./ilm-reference.asciidoc[]
34+
35+
include::{libbeat-dir}/shared-instrumentation.asciidoc[]
36+
37+
include::./jaeger-reference.asciidoc[]
38+
39+
ifndef::no_kerberos[]
40+
include::{libbeat-dir}/shared-kerberos-config.asciidoc[]
41+
endif::[]
42+
43+
include::./configure-kibana-endpoint.asciidoc[]
44+
45+
include::{libbeat-dir}/loggingconfig.asciidoc[]
46+
2947
:no-redis-output:
3048
include::{libbeat-dir}/outputconfig.asciidoc[]
3149

50+
include::{libbeat-dir}/shared-path-config.asciidoc[]
51+
52+
include::./configuration-rum.asciidoc[]
53+
54+
// BEGIN SSL SECTION --------------------------------------------
3255
[[configuration-ssl-landing]]
3356
== SSL/TLS settings
3457

@@ -49,24 +72,9 @@ include::{libbeat-dir}/shared-ssl-config.asciidoc[]
4972
:leveloffset: -1
5073

5174
include::ssl-input-settings.asciidoc[]
75+
// END SSL SECTION --------------------------------------------
5276

53-
See <<securing-apm-server,Securing APM Server>> for more information.
54-
55-
include::{libbeat-dir}/template-config.asciidoc[]
56-
57-
include::./ilm-reference.asciidoc[]
58-
59-
include::./jaeger-reference.asciidoc[]
60-
61-
include::{libbeat-dir}/loggingconfig.asciidoc[]
62-
63-
include::./configure-kibana-endpoint.asciidoc[]
64-
65-
include::./configuration-rum.asciidoc[]
66-
67-
include::{libbeat-dir}/shared-instrumentation.asciidoc[]
68-
69-
include::{libbeat-dir}/shared-path-config.asciidoc[]
77+
include::./transaction-metrics.asciidoc[]
7078

7179
:standalone:
7280
include::{libbeat-dir}/shared-env-vars.asciidoc[]

docs/copied-from-beats/docs/outputs-list.asciidoc

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,5 @@ ifdef::requires_xpack[]
8383
endif::[]
8484
include::{libbeat-outputs-dir}/codec/docs/codec.asciidoc[]
8585
endif::[]
86-
ifndef::no_kerberos[]
87-
include::{libbeat-dir}/shared-kerberos-config.asciidoc[]
88-
endif::[]
89-
9086

9187
//# end::outputs-include[]

docs/transaction-metrics.asciidoc

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
[x-pack]
2+
[[transaction-metrics]]
3+
== Configure transaction metrics
4+
5+
experimental[]
6+
7+
++++
8+
<titleabbrev>Transaction metrics</titleabbrev>
9+
++++
10+
11+
When enabled, {beatname_uc} produces transaction histogram metrics that are used to power the APM app.
12+
Shifting this responsibility from APM app to APM Server results in improved query performance and removes the need to store unsampled transactions.
13+
14+
Example config file:
15+
16+
["source","yaml"]
17+
----
18+
apm-server:
19+
aggregation:
20+
transactions:
21+
enabled: true
22+
interval: 1m
23+
sampling:
24+
keep_unsampled: false
25+
----
26+
27+
[float]
28+
[[configuration-aggregation]]
29+
=== Configuration options: `apm-server.aggregation.transactions.*`
30+
31+
[[transactions-enabled]]
32+
[float]
33+
==== `enabled`
34+
35+
Enables the collection and publishing of transaction metrics.
36+
This setting improves query performance in the APM app.
37+
38+
Default: `false`.
39+
40+
IMPORTANT: To prevent inaccuracies in the APM app, transaction metrics must also be enabled in
41+
Kibana with `xpack.apm.searchAggregatedTransactions`.
42+
See {kibana-ref}/apm-settings-in-kibana.html[APM app settings] for more information.
43+
44+
[[transactions-interval]]
45+
[float]
46+
==== `interval`
47+
48+
Controls the frequency of metrics publication.
49+
50+
Default: `1m`.
51+
52+
[[transactions-max_groups]]
53+
[float]
54+
==== `max_groups`
55+
56+
Maximum number of transaction groups to keep track of.
57+
Once exceeded, APM Server devolves into recording a metrics document for each transaction that is not in one
58+
of the transaction groups being tracked.
59+
60+
Default: `1000`.
61+
62+
[[transactions-hdrhistogram_significant_figures]]
63+
[float]
64+
==== `hdrhistogram_significant_figures`
65+
66+
The fixed, worst-case percentage error (specified as a number of significant digits)
67+
to maintain for recorded metrics.
68+
Supported values are `1` through `5`.
69+
See {ref}/search-aggregations-metrics-percentile-aggregation.html#_hdr_histogram_2[HDR histogram] for more information.
70+
71+
Default: `2`.
72+
73+
[[transactions-lru_size]]
74+
[float]
75+
==== `rum.user_agent.lru_size`
76+
77+
This option controls the cache size of RUM user-agent strings.
78+
79+
RUM "page-load" transactions are aggregated on the user-agent name, which requires user-agent parsing.
80+
To avoid parsing every user-agent, a cache of user-agent strings is maintained.
81+
82+
Default: `5000`.
83+
84+
[float]
85+
[[configuration-sampling]]
86+
=== Configuration options: `apm-server.sampling.*`
87+
88+
[[sampling-keep_unsampled]]
89+
[float]
90+
==== `keep_unsampled`
91+
92+
Controls the recording of unsampled transaction documents.
93+
Dropping unsampled documents (`keep_unsampled: false`) reduces APM's storage consumption.
94+
95+
Default: `true`.
96+
97+
IMPORTANT: Unsampled transactions should only be dropped when `apm-server.aggregation.transactions.enabled` is `true`,
98+
otherwise, the APM app will report inaccurate metrics.

0 commit comments

Comments
 (0)