What's Changed
-
feat: the continuous profiler now defaults to
fullsample aggregation (OTEL_AWS_PROFILER_AGGREGATION_MODE): samples with the same stack, trace link and attributes are merged into one OTLP sample that keeps every observation's value and timestamp. Withnone, the previous default, every raw sample is its own OTLP sample, so a 60 s wall window easily exceeds CloudWatch Profiles' 16,000-samples-per-profile limit and is rejected.noneandsumare still available. (#1481) -
feat: register OTLP SigV4 exporters with Java SPI SigV4 region detection checks
aws.region/AWS_REGION, thenaws.default.region/AWS_DEFAULT_REGION. If neither is configured, it falls back to the endpoint region, then the default AWS SDK region provider chain. (#1475) -
feat: add an experimental, opt-in continuous code profiler (async-profiler based) that exports native OTLP profiles. It uses the OTLP
v1developmentprofiles schema, which is not yet stable and may change in incompatible ways. Enabled withOTEL_AWS_PROFILER_ENABLED=true; supportswall(default) andcpumodes (OTEL_AWS_PROFILER_MODE), optional allocation profiling (OTEL_AWS_PROFILER_MEMORY_ENABLED), a per-samplethread.stateattribute on wall profiles, and per-sample span correlation (operationattribute + trace/span link). Exports over OTLP/HTTP protobuf (default) or OTLP/gRPC, selected byOTEL_EXPORTER_OTLP_PROTOCOL. Off by default; no behavior change unless enabled. (#1457) -
fix: with
OTEL_AWS_HTTP_OPERATION_PATHSset, child spans now inherit the overridden operation from their server span, so dependency metrics are reported under the same operation as the service metrics instead of the original span name. (#1471) -
Bump jackson-bom to 2.22.3 to fix CVE-2026-89407, CVE-2026-89425, CVE-2026-91776, and CVE-2026-91777 (#1464)
-
fix: recognize AWS China (
.amazonaws.com.cn) CloudWatch OTLP endpoints and apply SigV4 to direct traces, logs, and metrics export, including Dynamic Instrumentation and Service Events logs. (#1460) -
feat: add INFO logs identifying the selected metrics exporter, destination, and authentication mode for CloudWatch EMF, console EMF, and direct CloudWatch OTLP metrics export. (#1456)
-
feat: add SigV4 authentication for collector-less OTLP metrics export to the CloudWatch metrics endpoint (
https://monitoring.<region>.amazonaws.com/v1/metrics, SigV4 servicemonitoring), matching the existing direct traces and logs behavior. RequiresOTEL_METRICS_EXPORTER=otlp,OTEL_EXPORTER_OTLP_METRICS_PROTOCOL=http/protobuf, andOTEL_EXPORTER_OTLP_METRICS_ENDPOINTset to the CloudWatch metrics endpoint. An explicitly configured OTLP metricsAuthorizationheader (bearer token) is preserved and takes precedence over SigV4. Upstream metric settings, including temporality and aggregation, are unchanged. (#1455) -
fix: an explicitly configured OTLP
Authorizationheader (bearer token) now also takes precedence over SigV4 for direct traces and logs export, matching the new metrics behavior. Previously both values were sent on the same request. Only the signal-specific variable (OTEL_EXPORTER_OTLP_TRACES_HEADERS,OTEL_EXPORTER_OTLP_LOGS_HEADERS,OTEL_EXPORTER_OTLP_METRICS_HEADERS) selects bearer authentication; a globalOTEL_EXPORTER_OTLP_HEADERSdoes not disable SigV4. (#1455) -
Update OpenTelemetry dependencies to 2.32.0 (contrib 1.61.0) (#1462)
Upstream Components
OpenTelemetry Java Contrib- 1.61.0Opentelemetry Instrumentation for Java- 2.32.0
Release Artifacts
This release publishes to public ECR and Maven Central.
- See ADOT Java auto-instrumentation Docker image v2.32.0 in our public ECR repository:
https://gallery.ecr.aws/aws-observability/adot-autoinstrumentation-java - See version 2.32.0 in our Maven Central repository:
https://central.sonatype.com/artifact/software.amazon.opentelemetry/aws-opentelemetry-agent
Lambda Layer
This release includes the AWS OpenTelemetry Lambda Layer for Java version 2.32.0-34e64e5.
Lambda Layer ARNs:
| Region | Layer ARN |
|---|---|
| af-south-1 | arn:aws:lambda:af-south-1:904233096616:layer:AWSOpenTelemetryDistroJava:19 |
| ap-east-1 | arn:aws:lambda:ap-east-1:888577020596:layer:AWSOpenTelemetryDistroJava:19 |
| ap-east-2 | arn:aws:lambda:ap-east-2:412664885777:layer:AWSOpenTelemetryDistroJava:8 |
| ap-northeast-1 | arn:aws:lambda:ap-northeast-1:615299751070:layer:AWSOpenTelemetryDistroJava:19 |
| ap-northeast-2 | arn:aws:lambda:ap-northeast-2:615299751070:layer:AWSOpenTelemetryDistroJava:19 |
| ap-northeast-3 | arn:aws:lambda:ap-northeast-3:615299751070:layer:AWSOpenTelemetryDistroJava:19 |
| ap-south-1 | arn:aws:lambda:ap-south-1:615299751070:layer:AWSOpenTelemetryDistroJava:19 |
| ap-south-2 | arn:aws:lambda:ap-south-2:796973505492:layer:AWSOpenTelemetryDistroJava:19 |
| ap-southeast-1 | arn:aws:lambda:ap-southeast-1:615299751070:layer:AWSOpenTelemetryDistroJava:19 |
| ap-southeast-2 | arn:aws:lambda:ap-southeast-2:615299751070:layer:AWSOpenTelemetryDistroJava:19 |
| ap-southeast-3 | arn:aws:lambda:ap-southeast-3:039612877180:layer:AWSOpenTelemetryDistroJava:19 |
| ap-southeast-4 | arn:aws:lambda:ap-southeast-4:713881805771:layer:AWSOpenTelemetryDistroJava:19 |
| ap-southeast-5 | arn:aws:lambda:ap-southeast-5:152034782359:layer:AWSOpenTelemetryDistroJava:16 |
| ap-southeast-6 | arn:aws:lambda:ap-southeast-6:313828097273:layer:AWSOpenTelemetryDistroJava:8 |
| ap-southeast-7 | arn:aws:lambda:ap-southeast-7:980416031188:layer:AWSOpenTelemetryDistroJava:16 |
| ca-central-1 | arn:aws:lambda:ca-central-1:615299751070:layer:AWSOpenTelemetryDistroJava:19 |
| ca-west-1 | arn:aws:lambda:ca-west-1:595944127152:layer:AWSOpenTelemetryDistroJava:16 |
| cn-north-1 | arn:aws-cn:lambda:cn-north-1:440179912924:layer:AWSOpenTelemetryDistroJava:16 |
| cn-northwest-1 | arn:aws-cn:lambda:cn-northwest-1:440180067931:layer:AWSOpenTelemetryDistroJava:16 |
| eu-central-1 | arn:aws:lambda:eu-central-1:615299751070:layer:AWSOpenTelemetryDistroJava:19 |
| eu-central-2 | arn:aws:lambda:eu-central-2:156041407956:layer:AWSOpenTelemetryDistroJava:19 |
| eu-north-1 | arn:aws:lambda:eu-north-1:615299751070:layer:AWSOpenTelemetryDistroJava:19 |
| eu-south-1 | arn:aws:lambda:eu-south-1:257394471194:layer:AWSOpenTelemetryDistroJava:19 |
| eu-south-2 | arn:aws:lambda:eu-south-2:490004653786:layer:AWSOpenTelemetryDistroJava:19 |
| eu-west-1 | arn:aws:lambda:eu-west-1:615299751070:layer:AWSOpenTelemetryDistroJava:19 |
| eu-west-2 | arn:aws:lambda:eu-west-2:615299751070:layer:AWSOpenTelemetryDistroJava:19 |
| eu-west-3 | arn:aws:lambda:eu-west-3:615299751070:layer:AWSOpenTelemetryDistroJava:19 |
| il-central-1 | arn:aws:lambda:il-central-1:746669239226:layer:AWSOpenTelemetryDistroJava:19 |
| me-central-1 | arn:aws:lambda:me-central-1:739275441131:layer:AWSOpenTelemetryDistroJava:19 |
| mx-central-1 | arn:aws:lambda:mx-central-1:610118373846:layer:AWSOpenTelemetryDistroJava:16 |
| sa-east-1 | arn:aws:lambda:sa-east-1:615299751070:layer:AWSOpenTelemetryDistroJava:19 |
| us-east-1 | arn:aws:lambda:us-east-1:615299751070:layer:AWSOpenTelemetryDistroJava:19 |
| us-east-2 | arn:aws:lambda:us-east-2:615299751070:layer:AWSOpenTelemetryDistroJava:19 |
| us-west-1 | arn:aws:lambda:us-west-1:615299751070:layer:AWSOpenTelemetryDistroJava:19 |
| us-west-2 | arn:aws:lambda:us-west-2:615299751070:layer:AWSOpenTelemetryDistroJava:19 |