You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Defer PR 14 and document self-instrumentation modules in the checker
Keep the existing package layout for the four self-instrumentation modules (opentelemetry-api-1.0, opentelemetry-extension-annotations-1.0, opentelemetry-instrumentation-annotations-1.16, opentelemetry-instrumentation-api) instead of renaming them under .opentelemetry.* as PR 14 / open-telemetry#18747 proposed. Promote them in the checker from a generic historical wildcard to a dedicated self-instrumentation case block with a comment explaining why the standard module-name <-> package-name convention does not apply. The javaagent:opentelemetry-instrumentation-api unversioned-module allowlist entry was removed at the same time because the new case block already short-circuits before the unversioned check.
Copy file name to clipboardExpand all lines: package-name-exceptions-plan.md
+21-18Lines changed: 21 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,6 +18,7 @@ Updated on 2026-05-26 after PRs 27a, 27b, and the Spring testing-package alignme
18
18
Updated again on 2026-05-26 after auditing remaining unversioned-allowlist entries against the documented base-version convention and planning PRs 29-30.
19
19
Updated on 2026-05-28 after PRs 29 and 30 merged upstream together as #18854 and their `library:oshi`, `javaagent:oshi`, and `javaagent:elasticsearch-transport-common` allowlist entries were removed from the checker.
20
20
Updated on 2026-06-02 after PR 17 merged upstream as #18772 (Akka/Scala forkjoin module renames), and after #18855 moved the `servlet-common` library internal package; both allowlist entries were removed from the checker.
21
+
Updated again on 2026-06-02 after deciding to keep the four self-instrumentation modules' historical packages and document them as self-instrumentation in the checker instead of renaming them (PR 14 / #18747 deferred).
21
22
22
23
## Goal
23
24
@@ -146,7 +147,7 @@ For common-module package moves, search for downstream versioned modules importi
146
147
147
148
## Open Cleanup PRs
148
149
149
-
PR 14 is open as #18747. PR 22 (#18784) was closed without merging. Keep `.github/scripts/check-package-names.sh` and checker exception removals on `next` until cleanup PRs merge.
150
+
PR 14 (#18747) and PR 22 (#18784) were closed without merging. Keep `.github/scripts/check-package-names.sh` and checker exception removals on `next` until cleanup PRs merge.
150
151
151
152
For JDK instrumentation modules, keep the leading `java` token in package paths. For example,
152
153
`java-util-logging` maps to `io.opentelemetry.javaagent.instrumentation.java.util.logging`, while
@@ -161,34 +162,36 @@ example, `payara-embedded-web:5.2020.2` maps to `payara-5.2020` and package suff
161
162
would create noisy module names unless they identify a real boundary such as a muzzle range or
162
163
sibling module split.
163
164
164
-
### PR 14: OpenTelemetry annotation and instrumentation API modules (open#18747)
165
+
### PR 14: OpenTelemetry annotation and instrumentation API modules (deferred,#18747 to be closed)
Decision: do not rename these packages. The original proposal moved them under
175
+
`io.opentelemetry.javaagent.instrumentation.opentelemetry.*`, which adds an
176
+
`opentelemetry.opentelemetry` redundancy (and `instrumentation.instrumentation` for the API/annotations
177
+
modules) for no real navigation gain. These four are self-instrumentation modules: the agent
178
+
instruments OpenTelemetry's own code, so the convention that treats the first dash-separated module
179
+
token as the instrumented library's namespace does not meaningfully apply.
177
180
178
-
Notes:
181
+
Keep the existing packages and promote them in the checker from a generic "historical" wildcard to a
182
+
dedicated `self-instrumentation modules` case block with a comment that explains why the standard
183
+
convention is skipped. Current packages stay as:
179
184
180
-
- Around 30 changed Java files after the dependent Kotlin coroutines import is included.
181
-
- Reference audit found only local package declarations/imports for `opentelemetry-extension-annotations-1.0`.
182
-
-`opentelemetry-instrumentation-api` has local tests in `src/test` and `src/testOldServerSpan` that must move with the main package.
183
-
- Update dependent import(s) in `kotlinx-coroutines-1.0` for instrumentation annotations.
184
-
-`opentelemetry-instrumentation-api` still remains in the unversioned-module allowlist unless the module name changes; the PR removes only the broad historical package skip after merge.
0 commit comments