Releases: aws-observability/aws-otel-java-instrumentation
Release v2.11.3
Contains updates of the following upstream components:
OpenTelemetry Java - 1.45.0
OpenTelemetry Instrumentation for Java - 2.11.0
OpenTelemetry Java Contrib - 1.39.0
This release also publishes the ADOT Java auto-instrumentation Docker image v2.11.3 into our public ECR repository:
public.ecr.aws/aws-observability/adot-autoinstrumentation-java:v2.11.3
Release v2.11.2
Contains updates of the following upstream components:
OpenTelemetry Java - 1.45.0
OpenTelemetry Instrumentation for Java - 2.11.0
OpenTelemetry Java Contrib - 1.39.0
This release also publishes the ADOT Java auto-instrumentation Docker image v2.11.2 into our public ECR repository:
public.ecr.aws/aws-observability/adot-autoinstrumentation-java:v2.11.2
Release v2.11.1
Contains updates of the following upstream components:
OpenTelemetry Java - 1.45.0
OpenTelemetry Instrumentation for Java - 2.11.0
OpenTelemetry Java Contrib - 1.39.0
This release also publishes the ADOT Java auto-instrumentation Docker image v2.11.1 into our public ECR repository:
public.ecr.aws/aws-observability/adot-autoinstrumentation-java:v2.11.1
Release v2.11.0
Contains updates of the following upstream components:
OpenTelemetry Java - 1.45.0
OpenTelemetry Instrumentation for Java - 2.11.0
OpenTelemetry Java Contrib - 1.39.0
This release also publishes the ADOT Java auto-instrumentation Docker image v2.11.0 into our public ECR repository:
public.ecr.aws/aws-observability/adot-autoinstrumentation-java:v2.11.0
Release aws-distro-opentelemetry-xray-udp-span-exporter v1.0.0
Please refer to the Changelog for more details
Release v2.10.0
Contains the patched version of OpenTelemetry Instrumentation for Java - 2.10.0. We bump the version of ADOT Java auto-instrumentation to have the same major and minor version as the relevant upstream release.
This release also publishes the ADOT Java auto-instrumentation Docker image v2.10.0 into our public ECR repository:
public.ecr.aws/aws-observability/adot-autoinstrumentation-java:v2.10.0
Check out the release notes for upstream version
https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v2.10.0
Release v2.0.1
Contains the patched version of OpenTelemetry Instrumentation for Java - 2.10.0
This release also publishes the ADOT Java auto-instrumentation Docker image v2.0.1 into our public ECR repository:
public.ecr.aws/aws-observability/adot-autoinstrumentation-java:v2.0.1
Check out the release notes for upstream version
https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v2.10.0
Release v2.0.0
Contains the patched version of OpenTelemetry Instrumentation for Java - 2.10.0
This release also publishes the ADOT Java auto-instrumentation Docker image v2.0.0 into our public ECR repository:
public.ecr.aws/aws-observability/adot-autoinstrumentation-java:v2.0.0
Check out the release notes for upstream version
https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v2.10.0
Release lambda-v1.33.0
Fix: Lambda Topology Issue (#1016) **Issue #, if available:** Lambda Topology issue -- more context in PRs for Python and JavaScript: - https://github.com/aws-observability/aws-otel-python-instrumentation/pull/319 - https://github.com/aws-observability/aws-otel-js-instrumentation/pull/149 **Description of changes:** - Apply fix for the Lambda Topology issue. The logic mimics the fix in our other ADOT SDKs. - Adding back AWS Resource support for Lambda. - https://github.com/aws-observability/aws-otel-java-instrumentation/pull/907 - We previously removed support due to the Lambda Topology issue **Test plan:** Set up two Lambda functions with Java runtimes and tested with custom Lambda layer with fix built-in. Tested both AWS SDK v1 and v2. Below are screenshots of the topology for various configurations. **v1 Topology (lambdaA & lambdaB instrumented)** <img width="1311" alt="Screenshot 2025-02-07 at 11 48 51 AM" src="https://github.com/user-attachments/assets/48234604-ae4b-49cd-926f-05cdd74038a7" /> **v2 Topology (lambdaA & lambdaB instrumented)** <img width="1222" alt="Screenshot 2025-02-07 at 11 26 34 AM" src="https://github.com/user-attachments/assets/cf7446f3-888f-4756-8ce0-e5ed1e97c9b5" /> We observe the following correct behaviors for topology above: - Service entity node for `Invoke` call to downstream lambda. - AWS Resource node for `GetFunction` call to downstream lambda. - AWS Resource node for `ListBuckets` call to downstream s3. **v1 Topology (lambdaB not instrumented)** <img width="965" alt="Screenshot 2025-02-07 at 12 17 59 PM" src="https://github.com/user-attachments/assets/67c361c0-4b8b-4d54-b1dd-0f21a9eee6ff" /> **v2 Topology (lambdaB not instrumented)** <img width="965" alt="Screenshot 2025-02-07 at 12 17 59 PM" src="https://github.com/user-attachments/assets/67c361c0-4b8b-4d54-b1dd-0f21a9eee6ff" /> We observe the following correct behaviors for topology above: - Downstream lambda called with `Invoke` is correctly treated as RemoteService entity when not instrumented Additionally, I generated the spans locally to verify the lambda instrumentation patch behaves correctly. **v1 Invoke** <img width="1281" alt="Screenshot 2025-02-06 at 10 10 23 PM" src="https://github.com/user-attachments/assets/8d025453-4658-47c7-8c50-261be8b665f5" /> **v2 Invoke** <img width="1281" alt="Screenshot 2025-02-06 at 10 11 49 PM" src="https://github.com/user-attachments/assets/46b382d0-9475-4871-9773-ed78e609d4a2" /> **v1 GetFunction** <img width="1281" alt="Screenshot 2025-02-06 at 10 08 53 PM" src="https://github.com/user-attachments/assets/a59e2de6-d50c-47bf-b9d6-171c1ce7cc02" /> **v2 GetFunction** <img width="1281" alt="Screenshot 2025-02-06 at 10 10 05 PM" src="https://github.com/user-attachments/assets/bec349e0-92c7-4d80-b778-8fa29f3b1ab2" /> We observe the following correct behaviors in the spans above: - For `Invoke` calls, we see `aws.remote.service` and `aws.remote.environment` correctly populated in the spans. - For non-`Invoke` calls (i.e. `GetFunction`), we see AWS Resource attributes such as `aws.remote.resource.identifier` and `aws.cloudformation.primary.identifier` correctly populated. By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Release v1.33.0
Contains the patched version of OpenTelemetry Instrumentation for Java - 1.33.0
This release also publishes the ADOT Java auto-instrumentation Docker image v1.33.0 into our public ECR repository:
public.ecr.aws/aws-observability/adot-autoinstrumentation-java:v1.33.0
Notice
We are aware of a known issue in the AWS Distro for OpenTelemetry (ADOT) Java SDK v1.33.0 (release), where HTTP web services with OTel metrics exporter enabled (disabled by default in AppSignals) may emit http.server.duration
metrics and similar ones with the calling endpoints as metric attributes. This can result in high cardinality, potentially triggering the OpenTelemetry SDK’s cardinality protection limits and causing other metrics to be dropped. Check out the issue details in #1119
We recommend customers use the latest ADOT Java SDK v2.x release to avoid this issue and benefit from the latest enhancements.
Check out the release notes for upstream version
https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v1.33.0