diff --git a/CHANGELOG.md b/CHANGELOG.md index 2ef43e77f07..bf48c6354c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,9 @@ release. ### Common +- Update instrumentation library guidance to avoid naming collisions between external and OTel instrumentations. + ([#4187](https://github.com/open-telemetry/opentelemetry-specification/pull/4187)) + ### Supplementary Guidelines ## v1.36.0 (2024-08-12) diff --git a/specification/overview.md b/specification/overview.md index 5eb7b3d410c..1138fdd30fe 100644 --- a/specification/overview.md +++ b/specification/overview.md @@ -384,9 +384,17 @@ an [Instrumentation Library](glossary.md#instrumentation-library). An instrumentation library should be named to follow any naming conventions of the instrumented library (e.g. 'middleware' for a web framework). -If there is no established name, the recommendation is to prefix packages -with "opentelemetry-instrumentation", followed by the instrumented library -name itself. Examples include: +For instrumentation hosted in OpenTelemetry repositories, the recommendation is +to prefix packages with "opentelemetry-instrumentation", followed by the +instrumented library name itself. Examples include: * opentelemetry-instrumentation-flask (Python) * @opentelemetry/instrumentation-grpc (Javascript) + +Instrumentations libraries not hosted by OpenTelemetry should avoid +potential naming collisions with OpenTelemetry-hosted packages. +For example, they may prefix instrumentation package name with their company or +project name: + +* {company}-opentelemetry-instrumentation-{component} (Python) +* @{company}/opentelemetry-instrumentation-{component} (Javascript)