Repository navigation
Conversation
Requirement telemetry-4 checks that full-tree operation detail exports a map, its two MapIteration contexts, and the step inside each iteration. The new handler Telemetry4FullTreeMap runs map process-items over the event with max concurrency 1 and item namer item-<item>. Each iteration runs step greet-<item>. TelemetryConformanceConfig gains a telemetryConfig overload that takes the operation detail, and fullTreeMapTelemetryConfig. The existing overloads delegate with TOP_LEVEL. The template maps Telemetry4FullTreeMap to telemetry-4.
The telemetry-4 requirement is not on the conformance main branch yet. The e2e run needs it. So this pins the shared workflow to the head of feat/telemetry-4-full-tree-map (c7abf1b). Re-pin to the merge commit once that PR merges.
This comment has been minimized.
This comment has been minimized.
…4 head Conformance PR #185 was stacked on the telemetry-3 branch. Telemetry-3 was squash-merged, so the PR branch was rebased onto main and force-pushed. The old head c7abf1b is no longer reachable from a branch. The new head 5c75e3f has an identical tree. Re-pin to the merge commit once #185 merges.
This comment has been minimized.
This comment has been minimized.
Conformance PR #185 merged to main as b380cbf. Its tree is identical to the branch head 5c75e3f that CI ran against. Pin to the merge commit so the revision stays reachable after the feature branch is deleted.
Contributor
Codex AI reviewNo actionable findings after checking all seven changed files against rules 1–11, module guidance, and SDK invariants. The prior rationale finding is resolved. Residual test risk: tests were not executed, and the updated external workflow revision was not independently inspected. Reviewed commit |
ParidelPooya
approved these changes
Nov 11, 2026
ParidelPooya
left a comment
Contributor
There was a problem hiding this comment.
Handler matches telemetry-4.yaml at b380cbf. LGTM.
Small note: the Javadoc in TelemetryConformanceConfig.java (class doc and telemetryConfig(String, ContentConfig) near line 71) still says every handler shares the same operation detail. telemetry-4 now uses FULL_TREE.
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.
What
Adds the
telemetry-4conformance handler. Onemap,process-items, runs over the event[1, 2]with max concurrency 1 and item nameritem-<item>. Each iteration runs one stepgreet-<item>that returns"Hello, <item>!". The telemetry plugin runs withfull-treeoperation detail andinput/outputon. The exported record must carry exactly fiveoperationsByNamekeys:process-items,item-1,item-2,greet-1,greet-2.The requirement is aws/aws-durable-execution-conformance-tests#185 (issue aws/aws-durable-execution-conformance-tests#184).
Why
top-leveldetail keeps onlyprocess-items.full-treedetail must recurse into each MapIteration context and keep the step under it, keyed by the user-supplied name. The deployed run shows the plugin recurses to depth 2, keeps the three CONTEXT summaries withoutmaxAttempt, and keeps the two STEP summaries withmaxAttempt1.Simpler options considered
Build the config inline in
Telemetry4FullTreeMap.createConfiguration(). That repeats the exporter, emit mode and sampling rate that all four handlers share.TelemetryConformanceConfigexists so those shared fields are set in one place; telemetry-3 followed the same pattern withresultSelectTelemetryConfig.Add
operationDetailto the existing two-argumenttelemetryConfigand update its three callers. The three existing handlers do not vary operation detail. Changing their call sites for a value they never set adds churn without new coverage. The delegating overload keeps them unchanged and fixesTOP_LEVELin one line.Switch the shared default to
FULL_TREEfor every handler. telemetry-1 to telemetry-3 are specified as top-level. Changing their configuration changes the reference the later requirements are described against.Call the three-argument overload directly from the handler and skip
fullTreeMapTelemetryConfig. Possible. The named factory mirrorsresultSelectTelemetryConfig, keeps the requirement's full configuration in one place, and givesTelemetryConformanceConfigTesta single method to assert on.Changes
Telemetry4FullTreeMap.java: the handler.MapConfigwith max concurrency 1 and item nameritem-<item>; each iteration runs stepgreet-<item>.TelemetryConformanceConfig.java:FULL_TREE_MAP_NAME; atelemetryConfig(logGroupName, OperationDetail, ContentConfig)overload that the existing overloads delegate to withTOP_LEVEL;fullTreeMapTelemetryConfig(logGroupName).TelemetryConformanceConfigTest.java: three tests for the new overload and the telemetry-4 settings.template.yaml:Telemetry4FullTreeMap,TestDescription: [telemetry-4].pom.xmldescription andREADME.md: coverage row and layout line..github/workflows/telemetry-conformance-tests.yml: pinned to the conformance merge commitb380cbf(feat(telemetry): add telemetry-4 full-tree map record aws-durable-execution-conformance-tests#185).Verification
cd conformance-tests-telemetry && JAVA_SDK_VERSION=3.1.1-SNAPSHOT mvn -B test: 14 tests, BUILD SUCCESS.mvn spotless:check: clean.LocalDurableTestRunnerwith a capturing exporter andOperationDetail.FULL_TREE: the record holds exactlyprocess-items,item-1,item-2,greet-1,greet-2;attemptis set on the two steps only.cf7dfab51, pinned toc7abf1b. Re-run atd416efec4pinned tob380cbf: Run 42916016152 — 4 passed, 0 failed.