Commit Graph

30 Commits

Author SHA1 Message Date
Johannes Tax 15f3e529f1 BREAKING: Remove `messaging.consumer.id`, make `messaging.client_id` generic (#3336)
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`.
2023-04-24 17:13:21 -06:00
Liudmila Molkova 139842c9e0 BREAKING: remove messaging.destination.kind and messaging.source.kind values (#3214)
Fixes #3170, #3265, #3249

## Changes

~~We currently allow `topic` or `queue` on `messaging.destination.kind`.
While it's common in messaging world to have one or another, messaging
semantic conventions can be applied to AMPQ communication (which does
not have topic/queue terminology), [socket.io](https://socket.io/), and
potentially other less traditional messaging use-cases.~~

It's unclear how `messaging.destination.kind` and
`messaging.source.kind` could be used. The distinction between queue and
topic is significant for messaging and distributed systems, but not for
tracing.

In either case, tracing backends should expect to process traces from 0+
messaging and 0+ messaging consumers. In either case, message consumers
can be simultaneous or consequent and there could be many of them.

The only known case (Solace) where it could be useful is when messaging
system allows having queues and topic with the same name on the same
broker, and it could be used to distinguish one from another.

Based on messaging SIG discussion, the attributes are removed for the
time being until we understand if and how they are useful.

Depending on messaging system queues or topics behavior vary a lot and
in future it would makes more sense to represent actual behavior with
individual attributes such as:
- auto-settlement (at-most-once or at least once guarantees)
- settlement for individual messages or offsets
- broadcast or unicast
- etc
2023-03-21 10:51:55 -06:00
Trask Stalnaker b7e8b54419 BREAKING rename `net.app.protocol.(name|version)` to `net.protocol.(name|version)` and replace `http.flavor` with `net.protocol.(name|version)` (#3272) 2023-03-10 10:15:15 -08:00
Liudmila Molkova a7ede6fbfa Refactor messaging attributes and specify per-message attributes (#2957) 2022-12-22 17:04:53 -06:00
Mateusz Rzeszutek e37e300610 Add `messaging.kafka.message.offset` attribute (#2982) 2022-12-01 19:21:38 +01:00
Aaron Ai 63343b5fbb Add more semantic convention attributes for Apache RocketMQ (#2881) 2022-11-08 16:48:17 +01:00
Joao Grassi e2856b8feb Make messaging context propagation requirements explicit (#2750) 2022-09-30 09:05:54 -07:00
Liudmila Molkova 298c566cf9 Remove alternative attribute sets from HTTP semantic conventions (#2469) 2022-07-27 11:31:21 -07:00
Liudmila Molkova 216beba6cc Define net.sock attributes and clarify logical net.peer|host.name attributes (#2614) 2022-07-13 10:01:44 -07:00
Liudmila Molkova 3f7b7d02f9 Adopt attribute requirement levels in semantic conventions (#2594) 2022-06-14 08:02:55 -07:00
Reiley Yang 2d4de7fdf2 Fix links (#2426) 2022-03-21 23:05:45 -07:00
Armin Ruech 8c9de82151 Pin markdownlint-cli version and apply fixes (#2320)
* Pin markdownlint-cli version

* Apply markdownlint fixes
2022-02-07 10:24:33 -08:00
aaron ai 94b32ee631 Add specific attributes for Apache RocketMQ (#1904) 2021-10-13 11:02:25 +00:00
Ken Finnigan ca8c79d418 Add `consumer_id` to identify the consumer (#1810)
Resolves #1796
2021-08-23 20:27:08 +02:00
Ken Finnigan f62dd99dc1 Update trace example for Kafka messaging (#1807) 2021-08-16 16:36:27 +02:00
Amir Blum f15465b5ba add rabbitmq to semantic conventions yaml (#1651)
* add rabbitmq to semantic conventions yaml

* add example for rabbitmq routing key

* messaging.rabbitmq - use required syntax

* messaging.rabbitmq generate markdown table from yaml

* update changelog with adding rabbitmq to yaml

Co-authored-by: Bogdan Drutu <bogdandrutu@gmail.com>
2021-04-27 08:36:28 -07:00
Anuraag Agrawal 0f98135322 Add semantic conventions for instrumenting AWS Lambda. (#1442) 2021-03-24 22:28:16 +01:00
Armin Ruech 561ad88d7f Update semantic conventions to distinguish int from double (#1550) 2021-03-18 17:06:10 +01:00
Ted Young eeff36dfd4 Add lifecycle statuses to all documents (#1385) 2021-02-04 15:06:46 +01:00
Sergey Kanzhelev 4f13d9c80b regenerated tables after https://github.com/open-telemetry/build-tools/pull/24 (#1342) 2021-01-14 00:04:10 -08:00
Anuraag Agrawal 355a7f5740 Use MUST consistently instead of SHALL (#1208)
* Use MUST consistently instead of shall.

* Update specification/trace/semantic_conventions/messaging.md

Co-authored-by: Christian Neumüller <christian+github@neumueller.me>

Co-authored-by: Christian Neumüller <christian+github@neumueller.me>
2020-11-08 15:48:53 -05:00
Carlos Alberto Cortez e5de3ac8c1 Revert "Rename SpanContext to SpanReference. (#1075)" (#1127) 2020-10-24 00:16:31 +02:00
Ken Finnigan 8b6a13ad16 Resolve semantic inconsistencies for non traditional messaging (#1027)
Co-authored-by: Armin Ruech <armin.ruech@dynatrace.com>
Co-authored-by: Christian Neumüller <christian+github@neumueller.me>
2020-10-21 15:28:20 +02:00
Carlos Alberto Cortez 06db49aae3 Rename SpanContext to SpanReference. (#1075)
* Rename SpanContext to SpanReference.

* More updates.

* Update CHANGELOG

* Update specification/metrics/api.md

Co-authored-by: Christian Neumüller <christian+github@neumueller.me>

* Update specification/metrics/api.md

Co-authored-by: Christian Neumüller <christian+github@neumueller.me>

* Update specification/metrics/api.md

Co-authored-by: Christian Neumüller <christian+github@neumueller.me>

* Update specification/metrics/api.md

Co-authored-by: Christian Neumüller <christian+github@neumueller.me>

* Update specification/overview.md

Co-authored-by: Christian Neumüller <christian+github@neumueller.me>

* Update specification/overview.md

Co-authored-by: Christian Neumüller <christian+github@neumueller.me>

* Update specification/metrics/api.md

Co-authored-by: Armin Ruech <armin.ruech@dynatrace.com>

* Add entry to the compliance matrix.

* Update specification/overview.md

Co-authored-by: Christian Neumüller <christian+github@neumueller.me>

Co-authored-by: Christian Neumüller <christian+github@neumueller.me>
Co-authored-by: Armin Ruech <armin.ruech@dynatrace.com>
2020-10-14 08:40:18 -07:00
Giovanni Liva 9f09d2db7e Add yaml semantic conventions for Messaging (#926) 2020-09-29 14:34:02 +02:00
Armin Ruech c724898be9 Adapt semantic conventions for the span name of messaging systems (#690)
* Adapt messaging semantic conventions to include the operation in the span name

* Specify that the operation name must match the respective attribute if the suggested span name format is used

* Update span names in examples

* Consolidate definition of operation names into a separate section

* Consolidate capitalization

* Reference Conversation ID definition

* Consolidate MD syntax

* Organize definitions

* Organize definitions

* Reference definitions

* Allow artificial destinations as span name if neither destination name nor conversation ID are suitable

* Do not use conversation IDs for span name

* Wording

Co-authored-by: Christian Neumüller <christian.neumueller@dynatrace.com>

* Fix typo

* Add more links and guidance on messaging.operation

* Fix changelog

Co-authored-by: Christian Neumüller <christian.neumueller@dynatrace.com>
2020-07-15 13:14:56 -07:00
Christian Neumüller b03e37895b Clarify messaging.system. (#558)
I'm not sure what this should have to do with vendors, according to the examples, this would be the actual system names themselves. Otherwise the vendor for kafka would probably be "Apache", for example.
2020-04-22 07:35:51 -07:00
Armin Ruech 587693abbf Add payload size to messaging semantic conventions (#550) 2020-04-17 18:07:41 +02:00
Armin Ruech 4d1da099a0 Fix markdown-link-check and dead links (#555) 2020-04-09 16:36:01 +02:00
Armin Ruech 929e370037 Define span attributes for messaging systems (#418) 2020-04-07 17:08:56 +02:00