Repository navigation
feat(telemetry): add Durable Execution Telemetry conformance test handlers - #822
Merged
Merged
Conversation
hln33
marked this pull request as ready for review
October 24, 2026 00:57
hln33
temporarily deployed
to
ai-pr-review-runtime
October 24, 2026 00:57 — with
GitHub Actions
Inactive
hln33
force-pushed
the
feat/conformance-tests-telemetry
branch
from
October 24, 2026 00:57
42e2e34 to
ccc5489
Compare
hln33
temporarily deployed
to
ai-pr-review-runtime
October 24, 2026 00:58 — with
GitHub Actions
Inactive
This comment has been minimized.
This comment has been minimized.
hln33
force-pushed
the
feat/conformance-tests-telemetry
branch
from
October 24, 2026 01:27
ccc5489 to
a7c6c4e
Compare
hln33
temporarily deployed
to
ai-pr-review-runtime
October 24, 2026 01:27 — with
GitHub Actions
Inactive
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
ParidelPooya
force-pushed
the
feat/conformance-tests-telemetry
branch
from
October 24, 2026 21:39
fd1d2f7 to
c7098ac
Compare
Contributor
Contributor
Codex AI reviewNo actionable findings. The prior dependency-version mismatch is fixed. Review was static; tests were not run. Residual test risk is SAM deployment and CloudWatch delivery, which the added wiring tests do not exercise. Reviewed commit |
ParidelPooya
approved these changes
Oct 24, 2026
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
None. Related: aws/aws-durable-execution-conformance-tests#144 adds the
telemetrysuite and runner extension that deploys and validates the handler in this PR. JS counterpart: aws/aws-durable-execution-sdk-js#1046. The PRs are independent to merge, but the suite only has a Python target once this PR is in.Description
Adds
packages/aws-durable-execution-sdk-python-conformance-tests-telemetry. It holds the Python handler and SAM template for thetelemetryconformance suite in aws/aws-durable-execution-conformance-tests (packageaws-durable-execution-conformance-tests-telemetry).The suite answers one question. Does
aws-durable-execution-sdk-python-telemetry-exporterwithCloudWatchLogsExporterdeliver a completeDurableExecutionTelemetryrecord to CloudWatch Logs for a real Lambda execution? Unit tests show that the plugin builds a record. They do not show that the record reaches the log group on a deployed function. So the handler is deployed and invoked once. The runner fetches the record and checks it against requirementtelemetry-1.The package mirrors
aws-durable-execution-sdk-python-conformance-tests-otel. The handlersrc/telemetry_1_success.pyruns one step namedincrementand returns{"value": 42}for the event{"value": 41}. It configures the plugin with only aCloudWatchLogsExporter, emit modeon-complete, sampling rate 1, operation detailtop-level, and content input and output enabled. It builds no record and calls no exporter method. It raises at import ifTELEMETRY_LOG_GROUP_NAMEis unset.The template declares
TelemetryLogGroupName, creates the log group withAWS::Logs::LogGroup, and passes the name throughTELEMETRY_LOG_GROUP_NAME.src/requirements.txtinstalls the core SDK and the exporter from git at${PYTHON_SDK_REF}.Root change:
pyproject.tomladds the package tests totestpaths.A caller GitHub workflow that runs the suite per PR is a follow-on.
Demo/Screenshots
Not applicable.
Checklist
Conformance result
Run name:
tr-py(stackconformance-tests-tr-py), regionus-west-2, commit42e2e345f5e1db8dfd7651e1cd2c7bb6aef175b3.telemetry-1FAILED with three errors. The runner printed them verbatim:The suite pins timestamps to the JS format: UTC,
Z, exactly 3 fraction digits. The Python exporter writes 6 fraction digits. These are the exporter's deviations from the JS reference format. They are out of scope for this PR.Testing
Unit Tests
tests/test_telemetry_examples.py: 12 tests. They cover template-to-handler wiring, requirement coverage (["telemetry-1"]), the Makefile build target, therequirements.txtpins, and theTelemetryLogGroupNamecontract.hatch run test:all packages/aws-durable-execution-sdk-python-conformance-tests-telemetry/testspasses.ruff checkandruff format --checkpass.Integration Tests
The deployed suite is the integration test. The
tr-pyrun above used the conformance runner with--suite telemetry. Per-PR CI wiring follows in a later change.Examples
Not applicable. The handler is the example the suite deploys.