Skip to content

Conversation

lmolkova
Copy link
Member

@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
Member 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
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