Skip to content
This repository was archived by the owner on Sep 2, 2025. It is now read-only.

Commit f1e6395

Browse files
Added feedback from PM, put dimensions list in a table
1 parent 5c0066a commit f1e6395

File tree

1 file changed

+73
-20
lines changed

1 file changed

+73
-20
lines changed

apm/span-tags/metricsets.rst

Lines changed: 73 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,35 +14,82 @@ MetricSets are key performance indicators, like request rate, error rate, and re
1414
Monitoring MetricSets
1515
=====================
1616

17-
Monitoring MetricSets (MMS) are metric time series (MTS) that power the real-time monitoring capabilities in Splunk APM, including charts and dashboards. MMS power the APM landing page and the dashboard view. MMS are also the metrics that detectors monitor to generate alerts.
17+
Monitoring MetricSets (MMS) are metric time series (MTS) that power the monitoring capabilities in Splunk APM, including charts and dashboards. MMS power the APM landing page and the dashboard view. MMS are also the metrics that detectors monitor to generate alerts.
1818

1919
MMS are available for a specific endpoint or for the aggregate of all endpoints in a service.
2020

21-
Endpoint-level MMS reflect the activity of a single endpoint in a service, while service-level MMS aggregate the activity of all of the endpoints in the service. MMS are limited to spans where the ``span.kind`` has a value of ``SERVER`` or ``CONSUMER``.
21+
Endpoint-level MMS reflect the activity of a single endpoint in a service, while service-level MMS aggregate the activity of all of the endpoints in the service. MMS are created for spans where the ``span.kind`` has a value of ``SERVER`` or ``CONSUMER``.
2222

2323
Spans might lack a ``kind`` value, or have a different ``kind`` value, in the following situations:
2424

2525
* The span originates in self-initiating operations or inferred services
2626
* An error in instrumentation occurs.
2727

28-
In addition to the following default MMS, you can create custom MMS. See :ref:`cmms`.
29-
3028
.. _default-mms:
3129

3230
Available default MMS metrics and dimensions
3331
-----------------------------------------------
3432

35-
MMS are available for the following APM components:
33+
MMS are available for the APM components listed in the following table. Each MMS also has a set of dimensions you can use to monitor and alert on service performance. In addition to the following default MMS, you can create custom MMS to deep dive on your MMS. See :ref:`cmms`.
34+
35+
.. _service-mms:
36+
.. _inferred-service-mms-dimensions:
3637

37-
- service.request
38-
- spans
39-
- inferred.services
40-
- traces
41-
- workflows (Workflow metrics are created by default when you create a Business Workflow. Custom MMS are not available for Business Workflows.)
4238

43-
Monitoring MetricSets in APM are generated as histogram metrics. Previously, MMS were classified as either a counter or gauge metric type. Histogram metrics represent a distribution of measurements or metrics, with complete percentile data available. Data is distributed into equally sized intervals, allowing you to compute percentiles across multiple services, and aggregate datapoints from multiple metric time series. Histogram metrics provide an advantage over other metric types when calculating percentiles, such as the p90 percentile for a single MTS. See more in :ref:`metric-types`.
39+
.. list-table::
40+
:widths: 33 33 33
41+
:width: 100
42+
:header-rows: 1
4443

45-
For each metric, there is 1 metric time series (MTS) with responses ``sf_error: true`` or ``sf_error: false``.
44+
* - Metric name
45+
- Dimensions
46+
- Custom dimension available? (Yes/No)
47+
* - ``service.request`` - the requests to endpoints in a service
48+
- * ``sf_environment``
49+
* ``deployment.environment`` - This dimension is only available for histogram MMS.
50+
* ``sf_service``
51+
* ``service.name`` - This dimension is only available for histogram MMS.
52+
* ``sf_error``
53+
- Yes
54+
* - ``inferred.services`` -
55+
- * ``sf_service``
56+
* ``service.name`` - This dimension is only available for histogram MMS.
57+
* ``sf_environment``
58+
* ``deployment.environment`` - This dimension is only available for histogram MMS.
59+
* ``sf_error``
60+
* ``sf.kind``
61+
* ``sf_operation``
62+
* ``sf_httpMethod``
63+
- No
64+
* - ``spans`` - the count of spans (a single operation)
65+
- * ``sf_environment``
66+
* ``deployment.environment`` - This dimension is only available for histogram MMS.
67+
* ``sf_service``
68+
* ``service.name`` - This dimension is only available for histogram MMS.
69+
* ``sf_operation``
70+
* ``sf_kind``
71+
* ``sf_error``
72+
* ``sf_httpMethod``, where relevant
73+
- Yes
74+
* - ``traces`` - the count of traces (collection of spans that represents a transaction)
75+
- * ``sf_environment``
76+
* ``deployment.environment`` - This dimension is only available for histogram MMS.
77+
* ``sf_service``
78+
* ``service.name`` - This dimension is only available for histogram MMS.
79+
* ``sf_operation``
80+
* ``sf_httpMethod``
81+
* ``sf_error``
82+
- No
83+
* - ``workflows`` - created by default when you create a business workflow
84+
- * ``sf_environment``
85+
* ``deployment.environment`` - This dimension is only available for histogram MMS.
86+
* ``sf_workflow``
87+
* ``sf_error``
88+
- No
89+
90+
Monitoring MetricSets in APM are generated as histogram metrics. Histogram metrics represent a distribution of measurements or metrics, with complete percentile data available. Data is distributed into equally sized intervals, allowing you to compute percentiles across multiple services, and aggregate datapoints from multiple metric time series. Histogram metrics provide an advantage over other metric types when calculating percentiles, such as the p90 percentile for a single MTS. See more in :ref:`metric-types`. For histogram MMS, there is a single metric for each component.
91+
92+
Previously, MMS were classified as either a counter or gauge metric type. The previous MMS included 6 metrics for each component.
4693

4794
.. list-table::
4895
:widths: 33 33 33
@@ -72,7 +119,7 @@ For each metric, there is 1 metric time series (MTS) with responses ``sf_error:
72119
- ``<component>.duration.ns.p99``
73120

74121

75-
Example histogram metrics in APM
122+
Example metrics in APM
76123
---------------------------------------------
77124

78125
A histogram MTS uses the following syntax using SignalFlow:
@@ -90,22 +137,26 @@ The following table displays example SignalFlow functions:
90137
:header-rows: 1
91138

92139
* - Description
93-
- Previous MMS function
94-
- Histogram MMS function
140+
- Histogram MMS
141+
- Previous MMS (deprecated)
95142
* - Aggregate count of all MTS
96-
- ``A = data('spans.count').sum().publish(label='A')``
97143
- ``A = histogram('spans').count().publish(label='A')``
144+
- ``A = data('spans.count').sum().publish(label='A')``
98145
* - P90 percentile for single MTS
99-
- ``filter_ = filter('sf_environment', 'us1') and filter('sf_service', 'apm-api-peanuts') and filter('sf_operation', 'POST /api/autosuggest/tagvalues') and filter('sf_httpMethod', 'POST') and filter('sf_error', 'false') A = data('spans.duration.ns.p90', filter=filter_, rollup='sum').publish(label='A')``
100-
- ``filter_ = filter('sf_environment', 'us1') and filter('sf_service', 'apm-api-peanuts') and filter('sf_operation', 'POST /api/autosuggest/tagvalues') and filter('sf_httpMethod', 'POST') and filter('sf_error', 'false') A = histogram('spans', filter=filter_).percentile(pct=90).publish(label='A')``
146+
- ``filter_ = filter('sf_environment', 'environment1') and filter('sf_service', 'service 1') and filter('sf_operation', 'operation1') and filter('sf_httpMethod', 'POST') and filter('sf_error', 'false') A = data('spans.duration.ns.p90', filter=filter_, rollup='sum').publish(label='A')``
147+
- ``filter_ = filter('sf_environment', 'us1') and filter('sf_service', 'service1') and filter('sf_operation', 'POST /api/autosuggest/tagvalues') and filter('sf_httpMethod', 'POST') and filter('sf_error', 'false') A = data('spans.duration.ns.p90', filter=filter_, rollup='sum').publish(label='A')``
101148
* - Combined p90 for multiple services
102-
- ``A = data('service.request.duration.ns.p90', filter=filter('sf_service', 'apm-graphql', 'apm-api-peanuts'), rollup='average').mean().publish(label='A')``
103-
- ``A = histogram('service.request', filter=filter('sf_service', 'apm-graphql', 'apm-api-peanuts')).percentile(pct=90).publish(label='A')``
149+
- ``A = histogram('service.request', filter=filter('sf_service', 'service 2', 'service 1')).percentile(pct=90).publish(label='A')``
150+
- ``A = data('service.request.duration.ns.p90', filter=filter('sf_service', 'service 2', 'service 1'), rollup='average').mean().publish(label='A')``
104151

105152
.. note:: Because an aggregation is applied on histogram(), to display all of the metric sets separately, each dimension needs to be applied as a groupby.
106153

154+
Dimensions
155+
=====================
107156
Each MMS has a set of dimensions you can use to monitor and alert on service performance.
108157

158+
In addition to the following default MMS, you can create custom MMS to deep dive on your MMS. See :ref:`cmms`.
159+
109160
.. _service-mms:
110161

111162
Service dimensions
@@ -128,6 +179,8 @@ Inferred service dimensions
128179
* ``deployment.environment`` - This dimension is only available for histogram MMS.
129180
* ``sf_error``
130181
* ``sf.kind``
182+
* ``sf_operation``
183+
* ``sf_httpMethod``
131184

132185
.. _endpoint-mms:
133186

0 commit comments

Comments
 (0)