-
Notifications
You must be signed in to change notification settings - Fork 192
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
Should db|messaging|rpc.system
be an instrumentation scope attribute?
#803
Comments
Should semantic conventions specify which attributes originate from instrumentation scopes and which not? Or asked differently, is an instrumentation which currently adds |
@pyohannes great questions, I don't think any of it is defined - https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/glossary.md#instrumentation-scope. Given that Java does not support scope attributes, I assume nobody uses them. I think the future reasonable solution would be that attributes can appear on span attributes or instrumentation scope attributes or even resource attributes (on the broker side) and ideally should be query-able in the same way regardless of how they were added. If that's the case, this is not blocking current db/messaging efforts. I'd like to come up with a desirable outcome from semconv group that we can bring to the general spec. |
Today we usually have documents such as |
This was briefly discussed in one of the Database Client Semconv Stability meetings, so raising it here as well: this could be problematic for higher lever frameworks, like ORMs - e.g. Hibernate or Entity Framework (Core). Those can e.g. talk to multiple databases systems - of course it depends which layer is instrumented (the ORM or the underlying database library), but e.g. EF Core has an issue to directly support OTel, and there is an external instrumentation library doing so, which sets There are similar libraries for messaging and rpc as well.
Could then be in the spec something like, in general Also, sorry for the noob question, but for my understanding:
Where is that defined? Sorry for my missing knowledge here, but I wasn't aware there is guideline on this. I understand that in case of most of the libraries (e.g. let's take MongoDb) it makes sense to have a compile-time constant ( |
@gregkalapos thanks for the clarification! I believe we also discussed that we're not targeting solving it for db semconv stability and we're going to assume it can be put on span attributes. If in the future we can optimize it with instrumentation scope attributes, it'd be great, but not essential for DB semconv. |
*.system
is a compile-time constant which is repetitive on spans and is a good candidate for instrumentation scope attribute.AFAIK, not every OTel api impl supports them (dotnet/runtime#93795, open-telemetry/opentelemetry-java#5503)
The text was updated successfully, but these errors were encountered: