open-telemetry / opentelemetry-php

The OpenTelemetry PHP Library
https://opentelemetry.io/docs/instrumentation/php/
Apache License 2.0
686 stars 170 forks source link

[opentelemetry-php-instrumentation] schema_url with fixed value #1312

Open weslenteche opened 1 month ago

weslenteche commented 1 month ago

Hello everyone, I currently identified that the auto-instrumentation packages (PSR-6 and Slim) incorporate the schema_url value with a fixed value, as shown in this code.

However, the packages install the latest version of open-telemetry/sem-conv, which can become a problem in these cases where the value is fixed.

I would like to suggest the following changes:

Nevay commented 1 month ago

Previous discussions:

Tl;dr: fixed schema urls should be used instead of TraceAttributes::SCHEMA_URL.

brettmc commented 1 month ago

https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/telemetry-stability.md#schema-file-driven-telemetry-producers - any of our instrumentations that are stable should have a fixed schema URL set, and it must not change (even if the semconv version does). There's some leniency in the spec to change the version in non-stable instrumentations (ie, any of our packages still on 0.x or beta).

So, I think that there's a task to go through our existing instrumentations to ensure that they do have a schema url set, and that it's fixed. Anything that's <= 1.0 could have its schema url updated to the latest semconv version.

weslenteche commented 2 weeks ago

https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/telemetry-stability.md#schema-file-driven-telemetry-producers - any of our instrumentations that are stable should have a fixed schema URL set, and it must not change (even if the semconv version does). There's some leniency in the spec to change the version in non-stable instrumentations (ie, any of our packages still on 0.x or beta).

So, I think that there's a task to go through our existing instrumentations to ensure that they do have a schema url set, and that it's fixed. Anything that's <= 1.0 could have its schema url updated to the latest semconv version.

I will perform an analysis on contrib packages lower than <= 1.0.0 and create pull requests by updating or inserting the url schemas.