Skip to content

test: add LMI observability acceptance - #823

Draft
zhongkechen wants to merge 2 commits into
mainfrom
codex/lmi-observability-java-20261023
Draft

zhongkechen wants to merge 2 commits into
mainfrom
codex/lmi-observability-java-20261023

Conversation

@zhongkechen

Copy link
Copy Markdown
Contributor

Issue Link, if available

Addresses the expanded observability acceptance in #727 under #798. The original #728 harness was incorporated into #782; this follow-up adds the remaining test coverage for the #761/#762 implementations.

Related test updates: JS #928 and Python #743.

Description

The LMI suite validated core lifecycle behavior without checking exported OpenTelemetry data. This adds 32 observability cases to the existing 13 cases, covering both OTel views on the existing concurrency-1 and concurrency-2 fixtures.

  • Use the real Java 3.x OTel factories and a process-owned provider/exporter. The observing adapter forwards every hook and the actual HandlerScoped opener while retaining independent invocation ownership for raw span assertions.
  • Validate runtime X-Ray sampled/unsampled propagation, concurrent attribution, warm reuse, suspension/replay, context/MDC cleanup, exporter failures and bounded flush waits. Re-run the deadline, non-cooperative-child and in-flight-return contracts with plugins enabled.
  • Send the caller trace header through a signed AWS SDK Invoke request using the packaged OtelInvoke helper. The function payload never substitutes for the runtime header.
  • Retain raw spans and separate export-completion counters. Case reuse and final collection require complete export outcomes and revalidate the observability assertions alongside existing lifecycle evidence.
  • Use the existing persistent functions and private storage. Add a Logback binding for real MDC checks and allow a bounded 60-minute assertion phase within the cloud job.

Testing

  • Java 17 and Java 25: SDK, Testing SDK, OTel and LMI reactor verification passed.
  • Java 25 reports 2,605 passed tests and 3 conditional skips across those modules.
  • All 209 Python harness checks passed, including negative telemetry evidence, instrumented Invoke routing and pending-export quiescence checks.
  • All 45 cloud cases are registered with their existing fixtures.
  • Spotless, whitespace checks and the shaded deployment JAR build passed.

No fresh deployed LMI acceptance run is claimed. The runtime limitations in #726 and the separate #733/#735 work remain visible as ordinary regression assertions. Keep #727 open until the required deployed evidence is recorded.

Demo/Screenshots

Not applicable. JUnit, raw span records, runtime identities and deployment metadata provide the validation evidence.

Checklist

  • Exercise the real public SDK and OTel registration paths.
  • Preserve original lifecycle, replay and cleanup assertions.
  • Retain bounded faults and independent evidence checks.
  • Record fresh deployed LMI acceptance for the intended artifacts.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

This branch has not been deployed

No deployments
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.

1 participant