Repository navigation
Nightly dependency update: OpenTelemetry 1.44.0/0.65b0 - #799
Conversation
|
Claude finished @aws-application-signals-bot's task in 1m 58s —— View job Claude Code PR Review
SummaryFound one substantive issue and posted it as an inline comment on
The rest of the changes (mock-collector, contract-tests, lambda-layer tests, tox.ini upstream release branches) are internally consistent. |
|
Claude finished @ezhang6811's task in 1m 37s —— View job Claude Code PR Review
SummaryNo new findings to post inline. The prior review's issue is still unresolved on this branch, so I'm not re-posting a duplicate. Status of prior finding (still open):
Rest of the diff: the mock-collector, contract-tests, lambda-layer tests, and tox.ini upstream-release-branch bumps are all internally consistent at |
|
Claude finished @liustve's task in 50s —— View job Claude Code PR Review
SummaryNo new findings to post inline. The prior review's issue is still unresolved on this branch, so I'm not re-posting a duplicate. Status of prior finding (still open):
Rest of the diff: the mock-collector, contract-tests, lambda-layer tests, and tox.ini upstream-release-branch bumps are all internally consistent at |
…stream Two issues blocked the 1.44.0/0.65b0 nightly bump: - opentelemetry-instrumentation-threading was left at 0.63b1 while every other contrib package moved to 0.65b0. threading 0.63b1 pins opentelemetry-instrumentation==0.63b1, conflicting with the ==0.65b0 pin, so pip could not resolve the graph. - opentelemetry-instrumentation-elasticsearch == 0.65b0 does not exist on PyPI: upstream dropped the package in the 0.65b0 contrib release now that all supported elasticsearch versions ship native OTel instrumentation (max published version is 0.64b0), which failed the image build with "No matching distribution found". Bump threading to 0.65b0 and remove elasticsearch from the distro dependencies, the lite-mode instrumentor map, and the nightly bot's CONTRIB_DEPS allowlist so future bumps do not re-add a nonexistent pin.
|
Claude finished @liustve's task in 1m 10s —— View job Claude Code PR Review
SummaryNo new findings to post inline. The one prior finding has been resolved on this branch. Status of prior finding (resolved):
Verified consistency across the diff:
Minor observation (not worth inline noise): CI is currently in progress on the four required checks — no blocking issues from the diff itself. |
|
Pushed 318c036 to fix the failing build. There were two distinct dependency problems on this branch, not one: 1. `opentelemetry-instrumentation-threading` left at `0.63b1` (the issue the prior Claude reviews flagged). It pins `opentelemetry-instrumentation==0.63b1` exactly, conflicting with the `==0.65b0` pin. → Bumped to `0.65b0`. 2. `opentelemetry-instrumentation-elasticsearch == 0.65b0` does not exist on PyPI (this was the actual error in the current CI run —
Verified with a `pip install --dry-run` of the distro: the full graph now resolves cleanly at `1.44.0`/`0.65b0` with no conflicts. The one contract-test failure (`3.12 / psycopg2`) in the last run was an unrelated transient Docker registry timeout, not a dependency issue. Also added a CHANGELOG entry for the bump + elasticsearch drop. |
… LogExporter.force_flush)
Bumping to opentelemetry 1.44.0/0.65b0 surfaced additional upstream breaking
changes beyond the version pins:
1. The Events API/SDK (opentelemetry._events, opentelemetry.sdk._events) was
removed. An event is now a LogRecord with event_name set, emitted through
the Logs API/SDK. Migrate all three call sites:
- llo_handler.py: emit the consolidated Gen AI event as a LogRecord via
LoggerProvider.get_logger(...).emit(...)
- debugger/_snapshot_otlp_emitter.py: same, and rename the cached
_event_logger to _logger
- aws_opentelemetry_configurator._init_logging: drop the now-defunct
EventLoggerProvider / set_event_logger_provider setup
2. LogExporter/LogRecordExporter gained a required abstract force_flush.
CompactConsoleLogRecordExporter only defined export/shutdown, so it could
no longer be instantiated. Add force_flush.
Update the affected unit tests to the LogRecord shape (event_name replaces the
Event class's name field, which no longer injects an event.name attribute).
Full distro unit suite passes (2189 passed / 51 skipped).
|
Pushed 1e1a411. Once the install/resolution was fixed (318c036), the contract tests surfaced additional upstream breaking changes in OTel 1.44.0/0.65b0 that the version pins alone did not cover: 1. Events API/SDK removed —
2. Updated the affected unit tests to the |
|
Claude finished @liustve's task in 3m 3s —— View job Claude Code PR Review
SummaryNo new findings to post inline. The one prior inline review has been resolved on this branch, and the two additional breaking-change fixes in 1e1a411 look correct. Verified for commit 1e1a411 (upstream breaking-change adaptation):
Verified for commit 318c036 (previously validated): threading bump to Rest of the diff (mock-collector, contract-tests, lambda-layer tests, tox.ini upstream release branches) remains internally consistent at Minor observation (unchanged since prior review, not worth re-flagging inline): |
…dates # Conflicts: # CHANGELOG.md
|
Claude finished @liustve's task in 3m 50s —— View job Claude Code PR Review
SummaryNo new findings to post inline. The one prior inline review has been resolved on this branch, and the additional breaking-change fixes in Verified for the latest changes:
Minor observation (unchanged since prior review, not worth re-flagging inline): CI is currently in progress on the four required checks — no blocking issues from the diff itself. |
The removed Events API auto-injected the event name into LogRecord attributes as "event.name". llo_handler relied on that, so migrating to the Logs API silently dropped it from emitted Gen AI LLO events, unlike the DI snapshot and serviceevents emitters which set it explicitly. Set "event.name" in _emit_llo_attributes so the on-the-wire shape is unchanged for downstream consumers, and revert the test assertions back to the originals.
|
Follow-up in 5f45e5d — preserving the The removed Events API's Fixed by setting |
|
Claude finished @liustve's task in 1m 33s —— View job Claude Code PR Review
SummaryNo new inline findings. Prior inline was already resolved by the author; the additional fixes in Verified for commit
Minor cosmetic observations (not worth re-flagging inline):
Rest of the PR (unchanged since prior review): version bumps CI is currently in progress on the four required checks — no blocking issues from the diff itself. |
…atch old Event wire shape
|
Claude finished @liustve's task in 1m 20s —— View job Claude Code PR Review
SummaryNo new findings to post inline. Prior inline was resolved by the author; the two newest commits ( Verified for
Cosmetic observations (unchanged since prior reviews; not worth re-flagging inline):
Rest of the PR (verified consistent): |
|
Claude finished @liustve's task in 1m 47s —— View job Claude Code PR Review
SummaryNo new inline findings. Latest commit
Minor leftover (not worth re-flagging inline): Rest of the PR (unchanged since prior reviews, all still verified):
|

Automated update of OpenTelemetry dependencies.
Build Status: ❌ failure
Updated versions:
Upstream releases with breaking changes:
Note: the mechanism to detect upstream breaking changes is not perfect. Be sure to check all new releases and understand if any additional changes need to be addressed.
opentelemetry-python:
opentelemetry-python-contrib:
Description of changes:
Drops the
opentelemetry-instrumentation-elasticsearchruntime dependency (frompyproject.toml, the lite-mode instrumentor map, and the nightly bot'sCONTRIB_DEPSallowlist), removed entirely upstream now that all supportedelasticsearchversions ship native OTel instrumentation:Drop elasticsearch instrumentation open-telemetry/opentelemetry-python-contrib#4759
Migrates the three Events API call sites (
llo_handler.py,debugger/_snapshot_otlp_emitter.py,aws_opentelemetry_configurator._init_logging) to emitLogRecordwith theevent_namefield via the Logs API, after upstream removed the deprecated Events API/SDK (opentelemetry._events/opentelemetry.sdk._events):Remove Events API/SDK open-telemetry/opentelemetry-python#5293
To keep the OTLP wire shape byte-identical to v0.18.0 for downstream consumers, the migration explicitly preserves the two things the old
Eventclass auto-injected: theevent.nameattribute (which the GenAI E2ECWLogValidatorasserts on) andseverity_number=INFO. Verified by encoding both versions' output through the OTLP proto encoder and diffing — the only deltas are the additive top-leveleventNamefield and SDK-generated resource metadata (telemetry.sdk.version,service.instance.id).Implements
force_flushonCompactConsoleLogRecordExporter, required after upstream added it as an abstract method on theLogRecordExporterABC (instantiation otherwise fails withTypeError):opentelemetry-sdk: add 'force_flush' method to LogRecordExporter ABC open-telemetry/opentelemetry-python#5294