diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b5f1f7b9d5..14192622ccf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,6 +50,8 @@ release. ([#3390](https://github.com/open-telemetry/opentelemetry-specification/pull/3390)) - BREAKING: Remove `messaging.consumer.id`, make `messaging.client_id` generic ([#3336](https://github.com/open-telemetry/opentelemetry-specification/pull/3336)) +- Clarification: metric namespaces are not allowed to be metric names + ([#3476](https://github.com/open-telemetry/opentelemetry-specification/pull/3476)) ### Compatibility diff --git a/specification/metrics/semantic_conventions/README.md b/specification/metrics/semantic_conventions/README.md index 718d894fa2f..e6fd1d4d2bb 100644 --- a/specification/metrics/semantic_conventions/README.md +++ b/specification/metrics/semantic_conventions/README.md @@ -61,6 +61,14 @@ OpenTelemetry artifacts define the metric structures and hierarchies for some categories of metrics, and these can assist decisions when creating future metrics. +Metric names SHOULD NOT coincide with namespaces. For example if +`system.processes.created` is a metric name then it is no longer valid to have +a metric named `system.processes` because `system.processes` is already a +namespace. Because of this rule be careful when choosing names: every existing +name prohibits existence of an equally named namespace in the future, and vice +versa: any existing namespace prohibits existence of an equally named +metric in the future. + Common attributes SHOULD be consistently named. This aids in discoverability and disambiguates similar attributes to metric names.