[chore] Move metric requirement levels doc from spec (#831)

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
This commit is contained in:
Joao Grassi 2024-03-22 02:37:47 +01:00 committed by GitHub
parent 80a2d1a8f7
commit f94edec229
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 56 additions and 13 deletions

View File

@ -191,5 +191,5 @@ This metric is [recommended][MetricRecommended].
<!-- endsemconv --> <!-- endsemconv -->
[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/document-status.md [DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/document-status.md
[MetricRequired]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/metrics/metric-requirement-level.md#required [MetricRequired]: /docs/general/metric-requirement-level.md#required
[MetricRecommended]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/metrics/metric-requirement-level.md#recommended [MetricRecommended]: /docs/general/metric-requirement-level.md#recommended

View File

@ -301,4 +301,4 @@ FaaS providers. This list is not exhaustive.
* [OpenFaas Metrics](https://docs.openfaas.com/architecture/metrics/) * [OpenFaas Metrics](https://docs.openfaas.com/architecture/metrics/)
[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/document-status.md [DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/document-status.md
[MetricRecommended]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/metrics/metric-requirement-level.md#recommended [MetricRecommended]: /docs/general/metric-requirement-level.md#recommended

View File

@ -0,0 +1,43 @@
# Metric Requirement Levels
**Status**: [Stable][DocumentStatus]
<details>
<summary>Table of Contents</summary>
<!-- toc -->
- [Required](#required)
- [Recommended](#recommended)
- [Opt-In](#opt-in)
<!-- tocstop -->
</details>
The following metric requirement levels are specified:
- [Required](#required)
- [Recommended](#recommended)
- [Opt-In](#opt-in)
## Required
All instrumentations MUST emit the metric.
A semantic convention defining a Required metric expects that an absolute majority of instrumentation libraries and applications are able to efficiently emit it.
## Recommended
Instrumentations SHOULD emit the metric by default if it's readily available and can be efficiently emitted. Instrumentations MAY offer a configuration option to disable Recommended metrics.
Instrumentations that decide not to emit `Recommended` metrics due to performance, security, privacy, or other consideration by default, SHOULD allow for opting in to emitting them as defined for the `Opt-In` requirement level if the metrics are logically applicable.
## Opt-In
Instrumentations SHOULD emit the metric if and only if the user configures the instrumentation to do so.
Instrumentation that doesn't support configuration MUST NOT emit `Opt-In` metrics.
This attribute requirement level is recommended for metrics that are particularly expensive to retrieve or might pose a security or privacy risk. These should therefore only be enabled deliberately by a user making an informed decision.
[DocumentStatus]:
https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/document-status.md

View File

@ -187,6 +187,6 @@ _Note: The need to report `messaging.process.messages` depends on the messaging
<!-- endsemconv --> <!-- endsemconv -->
[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/blob/v1.21.0/specification/document-status.md [DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/blob/v1.21.0/specification/document-status.md
[MetricRequired]: https://github.com/open-telemetry/opentelemetry-specification/blob/v1.21.0/specification/metrics/metric-requirement-level.md#required [MetricRequired]: /docs/general/metric-requirement-level.md#required
[MetricRecommended]: https://github.com/open-telemetry/opentelemetry-specification/blob/v1.21.0/specification/metrics/metric-requirement-level.md#recommended [MetricRecommended]: /docs/general/metric-requirement-level.md#recommended
[MetricOptIn]: https://github.com/open-telemetry/opentelemetry-specification/blob/v1.21.0/specification/metrics/metric-requirement-level.md#opt-in [MetricOptIn]: /docs/general/metric-requirement-level.md#opt-in

View File

@ -289,4 +289,4 @@ More specific Semantic Conventions are defined for the following RPC technologie
* [JSON-RPC](json-rpc.md): Semantic Conventions for *JSON-RPC*. * [JSON-RPC](json-rpc.md): Semantic Conventions for *JSON-RPC*.
[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/document-status.md [DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/document-status.md
[MetricRecommended]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/metrics/metric-requirement-level.md#recommended [MetricRecommended]: /docs/general/metric-requirement-level.md#recommended

View File

@ -455,5 +455,5 @@ This metric is obtained from [`BufferPoolMXBean#getCount()`](https://docs.oracle
<!-- endsemconv --> <!-- endsemconv -->
[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/document-status.md [DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/document-status.md
[MetricOptIn]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/metrics/metric-requirement-level.md#opt-in [MetricOptIn]: /docs/general/metric-requirement-level.md#opt-in
[MetricRecommended]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/metrics/metric-requirement-level.md#recommended [MetricRecommended]: /docs/general/metric-requirement-level.md#recommended

View File

@ -238,4 +238,4 @@ This metric is [recommended][MetricRecommended].
<!-- endsemconv --> <!-- endsemconv -->
[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/document-status.md [DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/document-status.md
[MetricRecommended]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/metrics/metric-requirement-level.md#recommended [MetricRecommended]: /docs/general/metric-requirement-level.md#recommended

View File

@ -795,8 +795,8 @@ An instrument for load average over 1 minute on Linux could be named
an `{os}` prefix to split this metric across OSes. an `{os}` prefix to split this metric across OSes.
[DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/document-status.md [DocumentStatus]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/document-status.md
[MetricRecommended]: https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/metrics/metric-requirement-level.md#recommended [MetricRecommended]: /docs/general/metric-requirement-level.md#recommended
[MetricOptIn]: https://github.com/open-telemetry/opentelemetry-specification/blob/v1.26.0/specification/metrics/metric-requirement-level.md#opt-in [MetricOptIn]: /docs/general/metric-requirement-level.md#opt-in
### Metric: `system.linux.memory.available` ### Metric: `system.linux.memory.available`

View File

@ -12,7 +12,7 @@ the generated markdown output in the [docs](../docs/README.md) folder.
Semantic conventions for the spec MUST adhere to the Semantic conventions for the spec MUST adhere to the
[attribute naming](../docs/general/attribute-naming.md), [attribute naming](../docs/general/attribute-naming.md),
[attribute requirement level](../docs/general/attribute-requirement-level.md), [attribute requirement level](../docs/general/attribute-requirement-level.md),
and [metric requirement level](https://github.com/open-telemetry/opentelemetry-specification/tree/v1.26.0/specification/metrics/metric-requirement-level.md) conventions. and [metric requirement level](../docs/general/metric-requirement-level.md) conventions.
Refer to the [syntax](https://github.com/open-telemetry/build-tools/tree/v0.23.0/semantic-conventions/syntax.md) Refer to the [syntax](https://github.com/open-telemetry/build-tools/tree/v0.23.0/semantic-conventions/syntax.md)
for how to write the YAML files for semantic conventions and what the YAML properties mean. for how to write the YAML files for semantic conventions and what the YAML properties mean.