-
Notifications
You must be signed in to change notification settings - Fork 244
Add otel.scope.schema_url to non-OTLP exporters #2489
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
base: main
Are you sure you want to change the base?
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Undrafting as this needs to be reviewed/discussed even though it is not ready to be merged. |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
I also agree here with @lmolkova. If the deal is because of prometheus compatibility, we already have that defined in the other document: https://github.com/open-telemetry/opentelemetry-specification/blob/ac137b349b006dc926da91c6a6619217737921cc/specification/compatibility/prometheus_and_openmetrics.md#instrumentation-scope. So I'm not sure this needs to be defined in semconv. |
I think this PR is ready for an actual review. CC @open-telemetry/prometheus-interoperability |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still discussing the attributes topic but found another small thing.
We managed to revert the feature in Prometheus before it made it into a release: prometheus/prometheus#16842 It should be safe to change the spec |
Can you please how do we want to change the spec? |
OTel Logs SIG meeting notes (from my memory): For most use-cases non-OTLP exporters could simply put scope attributes to attributes/tags without any modifications. However, for places where OTel's nested structure (resource, scope, datapoint) when translating is important adding an It looks like we do not need to describe anything in the Semantic Conventions. @lmolkova, @trask, @austinlparker, feel free to edit my comment if I missed anything or made any mistake. |
Maybe the existing description in Instrumentation Scope Attributes for non-OTLP formats is good enough? I changed this PR so it only adds |
type: string | ||
brief: The schema URL of the instrumentation scope. | ||
examples: ['https://opentelemetry.io/schemas/1.31.0'] | ||
stability: stable |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we want/need to make it "development" first?
What I meant here is that we were able to revert our commitment to translating Scope attributes to |
@ArthurSens, with the conversation we had I think it is find to keep |
No problems at all! I'm glad we have the chance to align, please don't hesitate to keep tagging us when things aren't clear |
Fixes #2320
Related to (follows):
The Instrumentation Scope Attributes for non-OTLP formats already says what exporters can do with scope attributes.
Changes
Add
otel.scope.schema_url
attribute to non-OTLP exporters that represents an instrumentation scope schema URL.Remarks
Schema URL is defined as part of instrumentation scope in the spec: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/instrumentation-scope.md
However, in OTLP it is always on a "higher" level for reasons unknown to me (maybe it was historically introduced before the concept of the instrumentation scope?): https://github.com/open-telemetry/opentelemetry-proto/blob/c30610041736aa5c0077b156f27b09e878b797ea/opentelemetry/proto/trace/v1/trace.proto#L58-L64
We could consider also naming it
otel.schema_url
. However, with the pre-work of https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/instrumentation-scope.md and open-telemetry/opentelemetry-specification#4505 I preferotel.scope.schema_url
.