Fixes #2015 ## Changes Based on discussions in the messaging workgroup and in issue #2015, this PR proposes to remove `messaging.consumer.id`, and to replace both `messaging.kafka.client_id` and `messaging.rocketmq.client_id` with a generic `messaging.client_id`. `messaging.consumer.id` is defined to always be set to the `client_id` of the used messaging system, except for Kafka, where it was defined to be a combination of `messaging.kafka.client_id` and `messaging.kafka.consumer.group`, or just the latter if `messaging.kafka.client_id` is not available. With this definition, the semantics of `consumer.id` are different between messaging systems, and even different for different Kafka scenarios. The proposed `messaging.client_id` has consistent semantics ("an unique client id, when it is available"), and can be used instead of `messaging.consumer.id` in almost all cases. In addition to have consistent semantics, this also simplifies the semantic conventions, as instead of `messaging.consumer.id` `messaging.kafka.client_id` `messaging.rocketmq.client_id` there is now just: `messaging.client_id`. |
||
|---|---|---|
| .. | ||
| logs | ||
| metrics | ||
| resource | ||
| scope/exporter | ||
| trace | ||
| README.md | ||
| exception.yaml | ||
| http-common.yaml | ||
| user-agent.yaml | ||
| version.properties | ||
README.md
YAML Model for Semantic Conventions
The YAML descriptions of semantic convention contained in this directory are intended to be used by the various OpenTelemetry language implementations to aid in automatic generation of semantics-related code.
⚠ If you want to read the semantic conventions and not edit them, please see
the generated markdown output under /specification/*/semantic_conventions/,
i.e.:
Writing semantic conventions
Semantic conventions for the spec MUST adhere to the attribute naming, attribute requirement level, and metric requirement level conventions.
Refer to the syntax for how to write the YAML files for semantic conventions and what the YAML properties mean.
A schema file for VS code is configured in the /.vscode/settings.json of this
repository, enabling auto-completion and additional checks. Refer to
the generator README for what extension you need.
Generating markdown
These YAML files are used by the make target table-generation to generate consistently
formatted Markdown tables for all semantic conventions in the specification. Run it from the root of this repository using the command
make table-generation
For more information, see the semantic convention generator in the OpenTelemetry build tools repository. Using this build tool, it is also possible to generate code for use in OpenTelemetry language projects.
See also: