Skip to content

Nightly dependency update: OpenTelemetry 1.44.0/0.65b0 - #799

Merged
liustve merged 12 commits into
mainfrom
nightly-dependency-updates
Jul 22, 2026
Merged

liustve merged 12 commits into
mainfrom
nightly-dependency-updates

Conversation

@aws-application-signals-bot

@aws-application-signals-bot aws-application-signals-bot commented Jun 25, 2026 •

Copy link
Copy Markdown
Collaborator

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-elasticsearch runtime dependency (from pyproject.toml, the lite-mode instrumentor map, and the nightly bot's CONTRIB_DEPS allowlist), removed entirely upstream now that all supported elasticsearch versions 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 emit LogRecord with the event_name field 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 Event class auto-injected: the event.name attribute (which the GenAI E2E CWLogValidator asserts on) and severity_number=INFO. Verified by encoding both versions' output through the OTLP proto encoder and diffing — the only deltas are the additive top-level eventName field and SDK-generated resource metadata (telemetry.sdk.version, service.instance.id).

  • Implements force_flush on CompactConsoleLogRecordExporter, required after upstream added it as an abstract method on the LogRecordExporter ABC (instantiation otherwise fails with TypeError):
    opentelemetry-sdk: add 'force_flush' method to LogRecordExporter ABC open-telemetry/opentelemetry-python#5294

@aws-application-signals-bot
aws-application-signals-bot requested a review from a team as a code owner June 25, 2026 04:50
@github-actions

github-actions Bot commented Jun 25, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @aws-application-signals-bot's task in 1m 58s —— View job


Claude Code PR Review

  • Check for prior Claude reviews on this PR (none found)
  • Review full PR diff
  • Verify dependency version consistency
  • Investigate build failure
  • Post findings

Summary

Found one substantive issue and posted it as an inline comment on aws-opentelemetry-distro/pyproject.toml:79:

  • opentelemetry-instrumentation-threading was missed during the bump — still pinned to == 0.63b1 while all 40+ sibling contrib packages were updated to == 0.64b0. Since opentelemetry-instrumentation itself is pinned to == 0.64b0, and instrumentation-threading 0.63b1 requires opentelemetry-instrumentation ~= 0.63b1, pip cannot resolve the dependency graph. This is almost certainly the cause of the failed build called out in the PR description.

The rest of the changes (mock-collector, contract-tests, lambda-layer tests, tox.ini upstream release branches) are internally consistent.
· Branch

Comment thread aws-opentelemetry-distro/pyproject.toml Resolved
@aws-application-signals-bot aws-application-signals-bot changed the title Nightly dependency update: OpenTelemetry 1.43.0/0.64b0 Nightly dependency update: OpenTelemetry 1.44.0/0.65b0 Jul 17, 2026
@github-actions

github-actions Bot commented Jul 21, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @ezhang6811's task in 1m 37s —— View job


Claude Code PR Review

  • Check for prior Claude reviews on this PR (1 inline comment found on aws-opentelemetry-distro/pyproject.toml:79)
  • Review full PR diff
  • Verify dependency version consistency
  • Post findings

Summary

No 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):

  • aws-opentelemetry-distro/pyproject.toml:79 — opentelemetry-instrumentation-threading == 0.63b1 was not bumped. Since this branch has since moved from 0.64b0 → 0.65b0 (via the merge with main + commit 5045f59), the correct target is now 0.65b0, not 0.64b0 as the prior inline suggestion block indicates. With opentelemetry-instrumentation == 0.65b0 (line 41) pinned alongside instrumentation-threading == 0.63b1 (which requires opentelemetry-instrumentation ~= 0.63b1), pip still can't resolve the graph — this remains the likely cause of the failing build.

    Fix this →

Rest of the diff: the mock-collector, contract-tests, lambda-layer tests, and tox.ini upstream-release-branch bumps are all internally consistent at 1.44.0/0.65b0.
· Branch

@github-actions

github-actions Bot commented Jul 22, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @liustve's task in 50s —— View job


Claude Code PR Review

  • Check for prior Claude reviews on this PR (1 inline comment found on aws-opentelemetry-distro/pyproject.toml:79)
  • Review full PR diff
  • Verify dependency version consistency
  • Post findings

Summary

No 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):

  • aws-opentelemetry-distro/pyproject.toml:79 — opentelemetry-instrumentation-threading == 0.63b1 was not bumped to == 0.65b0. Since opentelemetry-instrumentation == 0.65b0 (line 41) is pinned alongside instrumentation-threading == 0.63b1 (which requires opentelemetry-instrumentation ~= 0.63b1), pip still can't resolve the graph — this remains the likely cause of the failing build.

    Fix this →

Rest of the diff: the mock-collector, contract-tests, lambda-layer tests, and tox.ini upstream-release-branch bumps are all internally consistent at 1.44.0 / 0.65b0.
· Branch

…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.
@github-actions

github-actions Bot commented Jul 22, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @liustve's task in 1m 10s —— View job


Claude Code PR Review

  • Check for prior Claude reviews on this PR (1 inline comment found; author already resolved it in 318c036)
  • Review full PR diff
  • Verify dependency version consistency
  • Verify the threading fix (commit 318c036)
  • Post findings

Summary

No new findings to post inline. The one prior finding has been resolved on this branch.

Status of prior finding (resolved):

  • aws-opentelemetry-distro/pyproject.toml:78 — opentelemetry-instrumentation-threading is now pinned to == 0.65b0 (bumped in commit 318c036), matching the rest of the contrib packages. The pip resolver conflict should be cleared.

Verified consistency across the diff:

  • All 1.42.1 → 1.44.0 bumps applied uniformly (aws-opentelemetry-distro, mock-collector, contract-tests).
  • All 0.63b1 → 0.65b0 bumps applied uniformly (aws-opentelemetry-distro, lambda-layer test requirements).
  • opentelemetry-instrumentation-elasticsearch fully dropped in three places (removed upstream in 0.65b0):
    • aws-opentelemetry-distro/pyproject.toml
    • aws-opentelemetry-distro/src/amazon/opentelemetry/distro/opentelemetry_lite_sdk.py
    • scripts/update_dependencies.py
  • tox.ini upstream release branches bumped to release/v1.44.x-0.65bx.
  • CHANGELOG entry accurately describes both the version bump and the elasticsearch drop rationale.

Minor observation (not worth inline noise): lambda-layer/src/otel-instrument:140 still lists elasticsearch in the default OTEL_PYTHON_DISABLED_INSTRUMENTATIONS. Now that the instrumentation package is no longer shipped, that entry is a no-op — safe to leave, cosmetic-only if you decide to clean it up in a follow-up.

CI is currently in progress on the four required checks — no blocking issues from the diff itself.
· Branch

@liustve

liustve commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

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 — No matching distribution found for opentelemetry-instrumentation-elasticsearch==0.65b0, max published is `0.64b0`). Upstream dropped the package in the 1.44.0/0.65b0 contrib release "since all supported elasticsearch versions have a native OTel instrumentation" (CHANGELOG). → Removed it from:

  • `aws-opentelemetry-distro/pyproject.toml`
  • the lite-mode instrumentor map in `opentelemetry_lite_sdk.py`
  • `CONTRIB_DEPS` in `scripts/update_dependencies.py` (so the nightly bot does not re-add a nonexistent pin next cycle)

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).
@liustve

liustve commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

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 — opentelemetry._events and opentelemetry.sdk._events were deleted upstream (opentelemetry-python#4652 / 1.44.0 changelog: "Removed deprecated Events API/SDK. Use LogRecord with the event_name field set instead."). This was the ModuleNotFoundError: No module named 'opentelemetry._events' failing every contract test. Migrated all three call sites to emit a LogRecord with event_name via the Logs API:

  • llo_handler.py (consolidated Gen AI LLO event)
  • debugger/_snapshot_otlp_emitter.py (DI snapshots)
  • aws_opentelemetry_configurator._init_logging (dropped the now-defunct EventLoggerProvider / set_event_logger_provider setup)

2. LogExporter.force_flush is now a required abstract method — CompactConsoleLogRecordExporter only implemented export/shutdown, so it could no longer be instantiated (TypeError: Can't instantiate abstract class ... without an implementation for abstract method 'force_flush'). Added force_flush.

Updated the affected unit tests to the LogRecord shape — event_name replaces the old Event.name, and the removed Event class no longer injects an event.name key into attributes. Verified locally against 1.44.0/0.65b0: full distro unit suite passes (2189 passed / 51 skipped), and isort/black/flake8 are clean.

@github-actions

github-actions Bot commented Jul 22, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @liustve's task in 3m 3s —— View job


Claude Code PR Review

  • Read prior Claude reviews on this PR (1 inline; already resolved by author in 318c036)
  • Review full PR diff (focus on new commits 318c036 and 1e1a411)
  • Verify Events API → LogRecord migration and force_flush fix
  • Post findings

Summary

No 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):

  • Events API removal — All three production call sites (llo_handler.py, debugger/_snapshot_otlp_emitter.py, aws_opentelemetry_configurator._init_logging) now use LogRecord(event_name=...) via the Logs API, matching upstream's 1.44.0 removal of opentelemetry._events / opentelemetry.sdk._events. No lingering imports of the removed modules, and no stray EventLoggerProvider / get_event_logger / set_event_logger_provider usages remain in the shipped code.
  • event.name attribute preservation — _snapshot_otlp_emitter.py:117 still sets "event.name": _EVENT_NAME in the log attributes alongside event_name=_EVENT_NAME on the LogRecord. The old Event class auto-injected this key; the new LogRecord does not, so keeping it explicit preserves the on-wire shape for downstream consumers that read event.name from attributes. The corresponding unit test (test_snapshot_otlp_emitter.py:127) still asserts this, so behavior is preserved intentionally.
  • CompactConsoleLogRecordExporter.force_flush — Added to satisfy the newly-abstract method on LogExporter / LogRecordExporter. Implementation is a minimal self._out.flush(); return True, matching the pattern of shutdown(). Direct unit-test coverage for this new method is not present, but it's exercised transitively by any LoggerProvider.force_flush() path — low-risk given how thin the method is.

Verified for commit 318c036 (previously validated): threading bump to 0.65b0, elasticsearch fully dropped from pyproject.toml, opentelemetry_lite_sdk.py, and scripts/update_dependencies.py.

Rest of the diff (mock-collector, contract-tests, lambda-layer tests, tox.ini upstream release branches) remains internally consistent at 1.44.0 / 0.65b0.

Minor observation (unchanged since prior review, not worth re-flagging inline): lambda-layer/src/otel-instrument:140 still lists elasticsearch in the default OTEL_PYTHON_DISABLED_INSTRUMENTATIONS. It's a no-op now that the package isn't shipped — safe cosmetic cleanup for a follow-up if desired.
· Branch

@github-actions

github-actions Bot commented Jul 22, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @liustve's task in 3m 50s —— View job


Claude Code PR Review

  • Read prior Claude reviews on this PR (1 inline; already resolved by author in 318c036)
  • Review full PR diff (focus on new commits 318c036, ffa8c72, 1e1a411, 7199413)
  • Dedupe against prior findings — no new issues

Summary

No new findings to post inline. The one prior inline review has been resolved on this branch, and the additional breaking-change fixes in 1e1a411 look correct on re-review.

Verified for the latest changes:

  • Events API removal — All production call sites (llo_handler.py, debugger/_snapshot_otlp_emitter.py, aws_opentelemetry_configurator._init_logging) now use LogRecord(event_name=...) via the Logs API, matching upstream's 1.44.0 removal of opentelemetry._events / opentelemetry.sdk._events. greping under pr-head/aws-opentelemetry-distro/ for EventLoggerProvider, get_event_logger, opentelemetry._events, and opentelemetry.sdk._events returns zero hits, so no lingering imports.
  • CompactConsoleLogRecordExporter.force_flush — Added at aws-opentelemetry-distro/src/amazon/opentelemetry/distro/exporter/console/logs/compact_console_log_exporter.py:85-87. Minimal self._out.flush(); return True — appropriate for a synchronous stdout writer. timeout_millis is unused, which is fine here since flushing a local stream is effectively instantaneous.
  • Behavioral note on event.name (deliberate, not flagged inline): _snapshot_otlp_emitter.py:117 and serviceevents/exporter/otlp_emitter.py:258 still explicitly set attributes["event.name"] = ... alongside event_name= on the LogRecord (preserving the wire shape the old Event class used to auto-inject). llo_handler._emit_llo_attributes does not do this, and the updated tests deliberately replace assertIn("event.name", attributes) with assertEqual(event_name, ...). If any downstream consumer of Gen AI LLO events reads event.name from attributes rather than the top-level event_name field, they'll need to be updated — worth confirming with whoever owns the downstream side, but not a blocker on the diff itself.
  • Version consistency — 1.42.1→1.44.0 and 0.63b1→0.65b0 bumps are uniform across aws-opentelemetry-distro/pyproject.toml, contract-tests/*, lambda-layer/src/tests/requirements.txt, mock-collector, and tox.ini. Threading is at 0.65b0; elasticsearch is fully dropped from pyproject.toml, opentelemetry_lite_sdk.py, and scripts/update_dependencies.py.
  • CHANGELOG (7199413) — Simplified entry looks fine given the details are captured in the commit messages and PR body.

Minor observation (unchanged since prior review, not worth re-flagging inline): lambda-layer/src/otel-instrument:140 still lists elasticsearch in the default OTEL_PYTHON_DISABLED_INSTRUMENTATIONS. It's a no-op now that the package isn't shipped — safe cosmetic cleanup for a follow-up if desired.

CI is currently in progress on the four required checks — no blocking issues from the diff itself.
· Branch

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.
@liustve

liustve commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Follow-up in 5f45e5d — preserving the event.name wire attribute on the Gen AI LLO events.

The removed Events API's Event class auto-injected the event name into the LogRecord's attributes as event.name (verified against 1.42.1: the old Event produced attributes={..., "event.name": <scope>} with a None top-level event_name). The DI snapshot emitter and the serviceevents emitter already set attributes["event.name"] explicitly, but llo_handler._emit_llo_attributes relied on the Event class to add it — so the initial migration silently dropped it from emitted Gen AI LLO events.

Fixed by setting event.name in the attributes dict in _emit_llo_attributes, so the on-the-wire shape is identical to before (attributes carry event.name, plus the new top-level event_name field the Logs API populates). The three emitters are now consistent, the test assertions revert to their originals (assertIn("event.name", attributes)), and no downstream consumer that reads attributes["event.name"] is affected.

@github-actions

github-actions Bot commented Jul 22, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @liustve's task in 1m 33s —— View job


Claude Code PR Review

  • Read prior Claude reviews on this PR (1 inline; already resolved by author in 318c036)
  • Review latest commit 5f45e5d (Gen AI LLO event.name preservation)
  • Verify test assertions match the wire-shape claim
  • Post findings

Summary

No new inline findings. Prior inline was already resolved by the author; the additional fixes in 1e1a411 and now 5f45e5d all look correct.

Verified for commit 5f45e5d (Gen AI LLO event.name preservation):

  • aws-opentelemetry-distro/src/amazon/opentelemetry/distro/llo_handler.py:540 — event_attributes = {"event.name": span.instrumentation_scope.name} now explicitly seeds event.name in the LogRecord attributes dict, matching what the removed Event class used to auto-inject. This brings llo_handler in line with the two other emitters (_snapshot_otlp_emitter.py:117 and serviceevents/exporter/otlp_emitter.py:258) that were already setting attributes["event.name"] explicitly. The three emitters are now consistent.
  • Test assertions in test_llo_handler_events.py now assert assertIn("event.name", emitted_event.attributes) on all three code paths (with/without session.id, with other attributes), which correctly verifies the wire shape is preserved. The top-level event_name field on the LogRecord is populated by the Logs API separately.
  • No new imports needed. No lingering EventLoggerProvider / get_event_logger / opentelemetry._events references remain under aws-opentelemetry-distro/src/ — grep confirms zero hits.

Minor cosmetic observations (not worth re-flagging inline):

  • llo_handler.py:548 — attributes=event_attributes if event_attributes else None is now effectively dead-branch: event_attributes is always truthy (it always has event.name). Harmless — safe to simplify to attributes=event_attributes on a future cleanup.
  • Test comments now say # Event class always adds event.name (e.g. test_llo_handler_events.py:639, 669, 694). The old Event class is gone; the attribute is now added explicitly in _emit_llo_attributes. Comment is stale but low-value to churn on.
  • lambda-layer/src/otel-instrument:140 still lists elasticsearch in the default OTEL_PYTHON_DISABLED_INSTRUMENTATIONS — no-op now that the package isn't shipped (noted in prior reviews).

Rest of the PR (unchanged since prior review): version bumps 1.42.1→1.44.0 and 0.63b1→0.65b0 are uniform across aws-opentelemetry-distro/pyproject.toml, contract-tests/*, lambda-layer/src/tests/requirements.txt, mock-collector, and tox.ini. threading is at 0.65b0; elasticsearch is fully dropped from pyproject.toml, opentelemetry_lite_sdk.py, and scripts/update_dependencies.py.

CI is currently in progress on the four required checks — no blocking issues from the diff itself.
· Branch

@github-actions

github-actions Bot commented Jul 22, 2026 •

Copy link
Copy Markdown
Contributor

Claude Code PR Review

  • Read prior Claude reviews on this PR
  • Review full PR diff (focus on latest commits)
  • Dedupe against prior findings
  • Post findings

View job run · Branch

@github-actions

github-actions Bot commented Jul 22, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @liustve's task in 1m 20s —— View job


Claude Code PR Review

  • Read prior Claude reviews on this PR (1 inline; already resolved by author in 318c036)
  • Review full PR diff (focus on latest commits 5f45e5d, 8a9eb62, 33ce98d)
  • Dedupe against prior findings — no new issues
  • Post findings

Summary

No new findings to post inline. Prior inline was resolved by the author; the two newest commits (8a9eb62, 33ce98d) are minimal, targeted fixes that look correct.

Verified for 8a9eb62 and 33ce98d (severity_number=SeverityNumber.INFO on Gen AI LLO + DI snapshot LogRecords):

  • The removed Event class defaulted its severity_number to SeverityNumber.INFO, so anything downstream keying off severity_number on the emitted log would have seen a change (from INFO to UNSPECIFIED, the LogRecord default) once the migration in 1e1a411 landed. Setting it explicitly on both emitters restores the pre-migration wire shape — consistent with the earlier event.name preservation fix in 5f45e5d.
  • The serviceevents emitter (serviceevents/exporter/otlp_emitter.py:274) intentionally keeps SeverityNumber.UNSPECIFIED — it was never built on Event, so it doesn't share the "match old Event default" rationale. No inconsistency to flag.
  • No test coverage was added asserting severity_number == INFO, but the two commits are two-line changes that are self-evident from the wire-shape rationale in the commit messages — low risk.

Cosmetic observations (unchanged since prior reviews; not worth re-flagging inline):

  • llo_handler.py:548 — attributes=event_attributes if event_attributes else None is now a dead branch (event_attributes always contains at least "event.name"). Safe to simplify on a future cleanup.
  • lambda-layer/src/otel-instrument:140 still lists elasticsearch in the default OTEL_PYTHON_DISABLED_INSTRUMENTATIONS — a no-op now that the instrumentation isn't shipped.
  • test_llo_handler_events.py:639/669/694 comments still say # Event class always adds event.name; the Event class is gone and the attribute is now set explicitly in _emit_llo_attributes. Low-value stale comment.

Rest of the PR (verified consistent): 1.42.1→1.44.0 and 0.63b1→0.65b0 bumps applied uniformly across aws-opentelemetry-distro/pyproject.toml, contract-tests/*, lambda-layer/src/tests/requirements.txt, mock-collector, and tox.ini. threading at 0.65b0; elasticsearch fully dropped from pyproject.toml, opentelemetry_lite_sdk.py, and scripts/update_dependencies.py.
· Branch

@github-actions

github-actions Bot commented Jul 22, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @liustve's task in 1m 47s —— View job


Claude Code PR Review

  • Read prior Claude reviews on this PR (1 inline; resolved by author in 318c036)
  • Review full PR diff (focus on latest commit e38161a)
  • Dedupe against prior findings — no new inline findings
  • Post findings

Summary

No new inline findings. Latest commit e38161a cleans up the three cosmetic observations flagged in prior reviews:

  • llo_handler.py:549 — simplified attributes=event_attributes if event_attributes else None → attributes=event_attributes, since event_attributes is now always seeded with event.name. Dead branch removed.
  • lambda-layer/src/otel-instrument:140 — dropped the now-defunct elasticsearch entry from the default OTEL_PYTHON_DISABLED_INSTRUMENTATIONS list. No-op behavior preserved (the package isn't shipped), and the env var no longer implies a package that no longer exists.
  • test_llo_handler_events.py:639, 669 — stale # Event class always adds event.name comments updated to # event.name is always set in attributes, matching the new explicit-set behavior.

Minor leftover (not worth re-flagging inline): test_llo_handler_events.py:694 still has (plus event.name from Event class) in an inline comment — e38161a updated the sibling test comments but missed this one. Purely cosmetic.

Rest of the PR (unchanged since prior reviews, all still verified):

  • Version bumps 1.42.1→1.44.0 and 0.63b1→0.65b0 uniform across aws-opentelemetry-distro/pyproject.toml, contract-tests/*, lambda-layer/src/tests/requirements.txt, mock-collector, and tox.ini. threading at 0.65b0.
  • elasticsearch instrumentation fully dropped from pyproject.toml, opentelemetry_lite_sdk.py, scripts/update_dependencies.py, and now the Lambda layer's default-disabled list.
  • Events API → LogRecord(event_name=...) migration complete across all three emitters (llo_handler.py, _snapshot_otlp_emitter.py, _init_logging). event.name attribute and severity_number=INFO preserved on the wire for downstream compatibility. No lingering opentelemetry._events / EventLoggerProvider / get_event_logger references (verified via grep).
  • CompactConsoleLogRecordExporter.force_flush added to satisfy the newly-abstract LogRecordExporter method.
  • CHANGELOG entry present.
    · Branch

@liustve
liustve merged commit 76f8f2d into main Jul 22, 2026
112 checks passed
@liustve
liustve deleted the nightly-dependency-updates branch July 22, 2026 17:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants