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

Where/how *.system and similar should be defined #670

Closed
lmolkova opened this issue Jan 25, 2024 · 4 comments
Closed

Where/how *.system and similar should be defined #670

lmolkova opened this issue Jan 25, 2024 · 4 comments

Comments

@lmolkova
Copy link
Contributor

lmolkova commented Jan 25, 2024

Currently messaging.system and db.system are defined as enums, but it creates certain issues:

  • stability: if *.system attribute is marked as stable, it does not mean that all of the tech-specific semconv are ready to be stabilized. E.g. kafka can be marked as stable, but azure_servicebus could still change.
  • scope: OTel does not have to own/document/maintain extensions for all dbs or messaging systems. They could be defined elsewhere and OTel can link to them in the list of known systems

Proposal: #669

  • *.system type changes from enum to string and no longer lists all members
  • tech-specific extensions MUST define and document a specific value. They mature and stabilize independently from generic part and each other.

[Update]
Other attributes that share the same list of problems:

@pyohannes pyohannes assigned lmolkova and unassigned reyang Jan 25, 2024
@lmolkova lmolkova changed the title Where/how messaging.system and db.system enums be defined Where/how messaging.system and db.system enums should be defined Jan 30, 2024
@lmolkova lmolkova changed the title Where/how messaging.system and db.system enums should be defined Where/how *.system and similar should be defined Feb 5, 2024
@lmolkova
Copy link
Contributor Author

One of the options is to add stability to individual enum members.
Then a subset of *.system can go stable (just the constants, not necessarily corresponding extensions), while others could remain experimental.

@pyohannes
Copy link
Contributor

One of the options is to add stability to individual enum members.
Then a subset of *.system can go stable (just the constants, not necessarily corresponding extensions), while others could remain experimental.

I like this option, I think it provides the necessary clarity and flexibility.

@trask
Copy link
Member

trask commented Apr 25, 2024

@lmolkova is this resolved now by open-telemetry/build-tools#267?

@lmolkova
Copy link
Contributor Author

yes, thank you and closing it.

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

Successfully merging a pull request may close this issue.

4 participants