Repository navigation
chore(deps): bump the opentelemetry group across 1 directory with 6 updates #125
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
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -33,12 +33,12 @@ | |
| "dependencies": { | ||
| "@langfuse/otel": "^5.11.1", | ||
| "@langfuse/tracing": "^5.11.1", | ||
| "@opentelemetry/api": "^1.9.0", | ||
| "@opentelemetry/core": "^2.11.0", | ||
| "@opentelemetry/exporter-trace-otlp-http": "^0.222.0", | ||
| "@opentelemetry/resources": "^2.11.0", | ||
| "@opentelemetry/sdk-trace-base": "^2.11.0", | ||
| "@opentelemetry/sdk-trace-node": "^2.11.0", | ||
| "@opentelemetry/api": "^1.10.0", | ||
| "@opentelemetry/core": "^3.0.0", | ||
| "@opentelemetry/exporter-trace-otlp-http": "^0.300.0", | ||
| "@opentelemetry/resources": "^3.0.0", | ||
|
Comment on lines
+36
to
+39
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🔴 Users of the bundled hook get two incompatible OpenTelemetry lines in one process: core/resources 3.x run beside the 2.x tracer provider and outside @ langfuse/otel's supported range. The bump moves Why this was flaggedThe locked graph cannot satisfy its own peer ranges. In pnpm-lock.yaml, sdk-trace-base@ 2.12.0, sdk-trace-node@ 2.12.0, core@ 2.12.0 and resources@ 2.12.0 all declare Verification: The graph it resolves breaks the version contracts its own packages declare. No api version fits both. The lock resolves api@ 1.10.0 (l.106, l.1315). @ langfuse/otel declares peer |
||
| "@opentelemetry/sdk-trace-base": "^2.12.0", | ||
| "@opentelemetry/sdk-trace-node": "^2.12.0", | ||
| "zod": "^4.6.5" | ||
| }, | ||
| "devDependencies": { | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔴 Users whose hook process already has an OpenTelemetry 1.9.x API registered lose session, user, tag and metadata grouping on every exported turn. With
@ opentelemetry/api1.10.0, the shared global registry no longer accepts a 1.9.x entry. The context-manager registration is refused and lookups fall back to a no-op, sopropagateAttributesat trace.ts:807 has no effect. Fix: keep the plugin on the API minor that foreign instrumentations register (hold api at 1.9 until the plugin no longer needs the global context). Also make instrumentation.test.ts:66 register the installed version and assert sessionId.Why this was flagged
The trigger is a Codex hook process where another instrumentation set up the global
Symbol.for("opentelemetry.js.api.1")entry first with API 1.9.x, for example through NODE_OPTIONS. The plugin plans for this case: see plugins/tracing/test/instrumentation.test.ts:51-53 and "the global registry can refuse the registration silently" at instrumentation.ts:88. On base the plugin's API is 1.9.1, so the versions match.provider.register()(instrumentation.ts:86) can then add the AsyncLocalStorage context manager to the foreign entry, andgetGlobalaccepts a foreign manager of the same minor. With 1.10.0, registerGlobal refuses because the versions differ. getGlobal's isCompatible also rejects minor 9 when its own minor is 10, socontext.withandcontext.active()become no-ops.propagateAttributes(trace.ts:807-816) then never reaches the spans started inemitTurn. Exported turns lose sessionId, userId, tags, metadata and traceName. Tests stay green because the fixture hardcodesversion: "1.9.1"(instrumentation.test.ts:66) and never checks propagated attributes.Verification: With a foreign API 1.9.x global,
isCompatiblerejects it (own minor 10 > 9) andregisterGlobalrefuses any version mismatch. Soprovider.register()(instrumentation.ts:86) cannot install the context manager, andpropagateAttributesat trace.ts:807 has no effect. On base (1.9.1), a 1.9.x global is compatible, so this is a regression.