Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document that messaging semconv are intended to cover client-side of out-of-proc messaging systems #1963

Open
lmolkova opened this issue Mar 5, 2025 · 0 comments

Comments

@lmolkova
Copy link
Contributor

lmolkova commented Mar 5, 2025

Messaging semconv are focused on messaging clients and assume there is an out-of-proc persistent broker.

They take into account and optimize for scenarios that are only relevant to such cases, specifically:

  • publish and receive calls that involve network calls, i.e. have a duration/can fail/etc
  • transport-level batching
  • settlement
  • partitioning
  • future: connection-level details, transactions

Using messaging semconv for in-memory queues or generic async processing would be an over-generalization.

  • There is no generic dashboard that would apply to both - broker-based and in-memory queues. E.g. publish/receive duration/error rate, number of consumers per partition, etc, do not make sense for in-memory queues, but are essential for out of process ones
  • same with visualizations like service maps, auto-analysis or alerts - they would focus on different aspects of in-mem/distributed async processing

I believe we should document that messaging semconv are applicable to messaging (broker/intermediary) scenarios and don't apply to general-purpose tasking, streaming, or p2p event-driven systems.

Such frameworks/systems may work on top of messaging and either provide an outer (to messaging) instrumentation layer, or, when/if possible, enrich messaging spans with additional framework-specific context.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Need triage
Status: V1 - Stable Semantics
Development

No branches or pull requests

1 participant