Skip to content

feat(telemetry): add Durable Execution Telemetry conformance test handlers - #822

Merged
ParidelPooya merged 2 commits into
mainfrom
feat/conformance-tests-telemetry
Oct 24, 2026
Merged

ParidelPooya merged 2 commits into
mainfrom
feat/conformance-tests-telemetry

Conversation

@hln33

@hln33 hln33 commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

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

Issue Link, if available

Description

Adds conformance-tests-telemetry/, a standalone Maven project (not a reactor module). It holds the Java handler and SAM template for requirement telemetry-1 of the Durable Execution Telemetry conformance suite.

  • Telemetry1Success takes {"value": 41}, runs one step named increment, and returns {"value": 42}.
  • The handler configures the telemetry plugin with one CloudWatchLogsExporter. It targets the log group in TELEMETRY_LOG_GROUP_NAME. Emit mode is ON_COMPLETE, sampling rate is 1, operation detail is TOP_LEVEL, and content input and output are enabled.
  • Class initialization throws IllegalStateException when TELEMETRY_LOG_GROUP_NAME is unset.
  • The handler constructs no record and calls no exporter method.
  • template.yaml creates the AWS::Logs::LogGroup and declares Telemetry1Success with TestDescription: telemetry-1.
  • The pom declares cloudwatchlogs directly, because the exporter marks it optional.

No SDK or exporter code is changed.

Demo/Screenshots

N/A

Checklist

  • I have filled out every section of the PR template
  • I have thoroughly tested this change

Testing

Unit Tests

N/A. This module holds a deployable handler and a template. The conformance runner is the test.

Integration Tests

N/A. The module is not part of the SDK reactor.

Examples

Local build, from the repository root:

  • mvn -B -q -Dmaven.test.skip=true install passed.
  • JAVA_SDK_VERSION=3.0.0 mvn -B -q -DskipTests package --file conformance-tests-telemetry/pom.xml passed. The shaded jar contains Telemetry1Success.class and CloudWatchLogsExporter.class.

Cloud run with the conformance runner, --suite telemetry --language java --region us-west-2 --name tr-java.

Conformance result

  • Run name: tr-java (stack conformance-tests-tr-java).
  • Execution status: SUCCEEDED. The result payload is {"value":42}. Events: ExecutionStarted, StepStarted, StepSucceeded, InvocationCompleted, ExecutionSucceeded.
  • History check: passed.
  • Record-shape check: failed with these verbatim errors.
Durable Execution Telemetry: record[0]: emittedAt: value '2026-10-23T20:40:07.536957288Z' does not match regex pattern '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'
Durable Execution Telemetry: record[0]: endTime: value '2026-10-23T20:40:07.536859610Z' does not match regex pattern '^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$'
Durable Execution Telemetry: record[0]: operationsByName.increment: expected key order ['type', 'count', 'failedCount', 'status', 'subType', 'minDurationMs', 'maxDurationMs', 'totalDurationMs', 'maxAttempt'], got ['type', 'subType', 'count', 'minDurationMs', 'maxDurationMs', 'totalDurationMs', 'failedCount', 'maxAttempt', 'status']

These errors are the Java exporter's deviations from the JS reference format. Fixing them is out of scope for this PR.

@hln33
hln33 marked this pull request as ready for review October 24, 2026 00:38
@hln33
hln33 requested a review from a team October 24, 2026 00:38
@hln33
hln33 deployed to ai-pr-review-runtime October 24, 2026 00:38 — with GitHub Actions Active
@hln33
hln33 deployed to ai-pr-review-runtime October 24, 2026 00:38 — with GitHub Actions Active
@github-actions

This comment has been minimized.

@hln33
hln33 deployed to ai-pr-review-runtime October 24, 2026 01:03 — with GitHub Actions Active
Comment thread conformance-tests-telemetry/README.md
@github-actions

This comment has been minimized.

@hln33
hln33 added this pull request to stack #826 October 24, 2026 02:31
hln33 added 2 commits October 23, 2026 19:31
The otel and core conformance templates let CloudFormation name each
function. The telemetry runner resolves FUNCTION_NAME from the invoked
ARN and reads only the TelemetryLogGroupName parameter. So the explicit
name serves no consumer. A named function also blocks any stack update
that needs replacement. So the line is removed.
@hln33
hln33 force-pushed the feat/conformance-tests-telemetry branch from 2294a33 to 4e3d3bb Compare October 24, 2026 02:31
@hln33
hln33 deployed to ai-pr-review-runtime October 24, 2026 02:32 — with GitHub Actions Active
Comment thread conformance-tests-telemetry/README.md
@github-actions

Copy link
Copy Markdown
Contributor

Codex AI review

One low-severity finding remains at conformance-tests-telemetry/README.md:49: the documented JDK prerequisite conflicts with the SAM runtime. Build and cloud conformance tests were not run during this read-only review.

Reviewed commit 4e3d3bb02f371fe3bdf1a0593eaff518c72da603. Workflow run

@ParidelPooya
ParidelPooya merged commit a1968df into main Oct 24, 2026
12 checks passed
@ParidelPooya
ParidelPooya deleted the feat/conformance-tests-telemetry branch October 24, 2026 19:55

This branch was successfully deployed

1 active deployment
ai-pr-review-runtime — 4e3d3bb0 Deployed Oct 24, 2026 by hln33 via ai-pr-review / Codex review / Generate Codex review #2685
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.

3 participants