Repository navigation
Bound metric routes and honor configured recorder selection - #206
Merged
Merged
Conversation
|
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.



Client metric labels currently retain variable task/session identifiers, and valid recorders that evaluate to false are silently replaced by the no-op. Normalize supported routes with reviewed templates and one
unknownfallback, retain static/pollroutes, and useNonealone to select default/client/worker recorders. Metric names, instrument types, units and required tag keys stay compatible.Tests exercise actual request and worker recorder hooks against the exact shared JSON contract, pinned to merged
.githubcommit73e8fc323e4f46322945a007e54a546395904f79and SHA-256c456f4f434c601fa26f0caba07ef0fd29f548ca8f5fc29ba2f6430f01e32c0f0. They cover bounded public-API routes, query privacy, transport retries, poll outcomes, all supported dispatch kinds, inheritance/override, false-valued recorders, no-op and actual Prometheus samples. Existing supported-version jobs install the Prometheus extra; trust bootstrap, guards, permissions and timeouts are unchanged.Addresses #205 and the Python adoption slice of durable-workflow/.github#233. #167 cancellation/log/retry taxonomy stays separate. Unchanged source produces 19 route failures/10 passing controls, and six recorder-selection failures/six normal-recording passes. Corrected source
9e579edfpasses 69 focused controls plus the fresh full Python 3.12 suite: 3,201 pass / two skips / 105 integration deselections / one existing fork warning, 136.32 seconds. Ruff and mypy on 37 source files pass. Current-target merge225f35fincorporates main6752909e; the combined metric/backoff controls pass 123 tests. Fresh whole-head hosted qualification remains required.The earlier interrupted full run remains unsuccessful: five process-readiness timeouts, 141 passes, 105 deselections and 374.36 seconds before SIGINT during a stalled join control. Its isolated module has three failures/six passes; a non-metrics control also times out. Read-only observations show late bootstrap before the unchanged five-second readiness limit, without establishing its cause. The fresh pass does not rescue those originals.
Guidance marks the changed behavior as unreleased. Compatible publication, normally installed adapter acceptance and removing the notices remain required after the existing #197 registry-side setup clears. No release tag or version change is included.