pass user metric limiters to module config#21868
Open
karen-stepanyan wants to merge 4 commits intodevelopfrom
Open
pass user metric limiters to module config#21868karen-stepanyan wants to merge 4 commits intodevelopfrom
karen-stepanyan wants to merge 4 commits intodevelopfrom
Conversation
Contributor
|
✅ No conflicts with other open PRs targeting |
|
2e9d29e to
8df7071
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
Risk Rating: MEDIUM — Changes affect workflow WASM host configuration (runtime gating/limits) plus a cross-repo dependency bump.
This PR wires per-workflow “user metric” limiters from EngineLimiters into the WASM host.ModuleConfig, enabling metric emission to be controlled via CL_CRE_SETTINGS overrides (aligning with the referenced chainlink-common change).
Changes:
- Pass user-metric gate + size/length limiters into
host.ModuleConfigin the v2 workflow syncer engine factory. - Attempt to pass the same limiters in the CRE standalone engine path (but currently after module instantiation—see stored comment).
- Bump
github.com/smartcontractkit/chainlink-common(andgithub.com/grafana/pyroscope-go) across modules to pick up the corresponding host config fields.
Reviewed changes
Copilot reviewed 10 out of 17 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
core/services/workflows/syncer/v2/handler.go |
Populates host.ModuleConfig with user-metric limiters when creating workflow WASM modules. |
core/services/workflows/cmd/cre/utils/standalone_engine.go |
Adds wiring of user-metric limiters into host.ModuleConfig for standalone engine creation (ordering needs fix). |
go.mod / go.sum |
Bump chainlink-common and pyroscope-go at repo root. |
deployment/go.mod / deployment/go.sum |
Align dependency versions with root module bump(s). |
core/scripts/go.mod / core/scripts/go.sum |
Align dependency versions with root module bump(s). |
integration-tests/go.mod / integration-tests/go.sum |
Align dependency versions with root module bump(s). |
integration-tests/load/go.mod / integration-tests/load/go.sum |
Align dependency versions with root module bump(s). |
system-tests/lib/go.mod / system-tests/lib/go.sum |
Align dependency versions with root module bump(s). |
system-tests/tests/go.mod / system-tests/tests/go.sum |
Align dependency versions with root module bump(s). |
|
jmank88
approved these changes
Apr 7, 2026
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.




Wire all user metric limiters from EngineLimiters into host.ModuleConfig
Enables per-workflow metric enablement via CL_CRE_SETTINGS overrides (e.g. "UserMetricEnabled": "true")
Why
The EngineLimiters had UserMetricEnabled and other metric limiters created from cresettings, but they were never passed to ModuleConfig. The WASM host function emit_metric always returned -1 because the gate was never opened. This change passes the limiters through so the settings system actually controls metric emission.
common change - smartcontractkit/chainlink-common#1964