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

Update instrumentation library naming guidance to avoid conflicts between external and otel instrumentations #4187

Merged

Conversation

lmolkova
Copy link
Contributor

@lmolkova lmolkova commented Aug 16, 2024

Some package managers (PyPi) don't provide means to reserve namespaces for projects. We also have a number of external instrumentation libraries in python that follow current guidance and use opentelemetry-instrumentation-{component} naming pattern.

These libraries are hard to distinguish from otel-authored ones. Also, when someone (legitimately following existing guidance) creates an external instrumentation package like this, it blocks our ability to have OTel-authored instrumentation with this 'good' name.

See open-telemetry/opentelemetry-python-contrib#2759 (comment) for real-life example.

Changes

This PR changes the recommendation to:

  • otel authored instrumentation should use opentelemetry-instrumentation-* pattern
  • external instrumentation should not use this pattern and should prefix lib name with their company/project/etc name

@lmolkova lmolkova requested review from a team August 16, 2024 19:58
@lmolkova lmolkova changed the title Update instrumentation library naming guidance to avoid conflicts with otel-instrumentations Update instrumentation library naming guidance to avoid conflicts between external and otel instrumentations Aug 16, 2024
@austinlparker
Copy link
Member

sgtm. we can't really force people to change existing packages but would appreciate if they did.

@cijothomas
Copy link
Member

Some package managers (PyPi) don't provide means to reserve namespaces for projects.
Same with Rust's crates.io!

@lmolkova
Copy link
Contributor Author

I plan to merge it on Wed 8/28 unless the will be any objections.

@lmolkova lmolkova merged commit 6672dbc into open-telemetry:main Aug 28, 2024
6 checks passed
carlosalberto pushed a commit to carlosalberto/opentelemetry-specification that referenced this pull request Oct 31, 2024
…ween external and otel instrumentations (open-telemetry#4187)

Some package managers (PyPi) don't provide means to reserve namespaces
for projects. We also have a number of **external** instrumentation
libraries in python that follow current guidance and use
`opentelemetry-instrumentation-{component}` naming pattern.

These libraries are hard to distinguish from otel-authored ones. Also,
when someone (legitimately following existing guidance) creates an
external instrumentation package like this, it blocks our ability to
have OTel-authored instrumentation with this 'good' name.

See
open-telemetry/opentelemetry-python-contrib#2759 (comment)
for real-life example.

## Changes

This PR changes the recommendation to:
- otel authored instrumentation should use
`opentelemetry-instrumentation-*` pattern
- external instrumentation should not use this pattern and should prefix
lib name with their company/project/etc name

* ~~[ ] Related issues #~~
* ~~[ ] Related [OTEP(s)](https://github.com/open-telemetry/oteps) #~~
* ~~[ ] Links to the prototypes (when adding or changing features)~~
* [x]
[`CHANGELOG.md`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/CHANGELOG.md)
file updated for non-trivial changes
* ~~[ ]
[`spec-compliance-matrix.md`](https://github.com/open-telemetry/opentelemetry-specification/blob/main/spec-compliance-matrix.md)
updated if necessary~~

---------

Co-authored-by: Armin Ruech <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants