From eb36e1ff6dd775c4fb6997fc115405aee22ecf85 Mon Sep 17 00:00:00 2001 From: Liudmila Molkova Date: Fri, 16 Aug 2024 12:43:24 -0700 Subject: [PATCH 1/4] Update instrumentation library naming guidance to avoid conflicts with otel-instrumentations --- specification/overview.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/specification/overview.md b/specification/overview.md index 5eb7b3d410c..3d871ed1c58 100644 --- a/specification/overview.md +++ b/specification/overview.md @@ -384,9 +384,16 @@ 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 +For OpenTelemetry-authored instrumentations, 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 authored by OpenTelemetry should avoid potential naming collisions with +OpenTelemetry-authored instrumentations. For example, they may prefix instrumentation package name with +corresponding project name: + +* {company}-opentelemetry-instrumentation-{component} (Python) +* @{company}/opentelemetry-instrumentation-{component} (Javascript) From d42770b474881f3f2088fb5a01c1c735a8c9846c Mon Sep 17 00:00:00 2001 From: Liudmila Molkova Date: Fri, 16 Aug 2024 13:02:43 -0700 Subject: [PATCH 2/4] up --- specification/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/overview.md b/specification/overview.md index 3d871ed1c58..c84dbd475a9 100644 --- a/specification/overview.md +++ b/specification/overview.md @@ -393,7 +393,7 @@ name itself. Examples include: Instrumentations libraries not authored by OpenTelemetry should avoid potential naming collisions with OpenTelemetry-authored instrumentations. For example, they may prefix instrumentation package name with -corresponding project name: +their company or project name: * {company}-opentelemetry-instrumentation-{component} (Python) * @{company}/opentelemetry-instrumentation-{component} (Javascript) From 5a2b6e8be62cd33be57df8706da343e41e6d7dfe Mon Sep 17 00:00:00 2001 From: Liudmila Molkova Date: Fri, 16 Aug 2024 13:12:06 -0700 Subject: [PATCH 3/4] changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b0e7987087d..69b168f6f00 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,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) From f6b6cbb5897d7a1c0fae8d7b9aea40e61aa98b3a Mon Sep 17 00:00:00 2001 From: Liudmila Molkova Date: Fri, 16 Aug 2024 14:13:26 -0700 Subject: [PATCH 4/4] authored -> hosted by --- specification/overview.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/specification/overview.md b/specification/overview.md index c84dbd475a9..1138fdd30fe 100644 --- a/specification/overview.md +++ b/specification/overview.md @@ -384,16 +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). -For OpenTelemetry-authored instrumentations, 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 authored by OpenTelemetry should avoid potential naming collisions with -OpenTelemetry-authored instrumentations. For example, they may prefix instrumentation package name with -their company or project name: +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)