fix(metrics): deduct downstream utilization on task transforms#24731
Merged
gwenaskell merged 11 commits intomasterfrom Mar 27, 2026
Merged
fix(metrics): deduct downstream utilization on task transforms#24731gwenaskell merged 11 commits intomasterfrom
gwenaskell merged 11 commits intomasterfrom
Conversation
bruceg
approved these changes
Mar 17, 2026
Member
bruceg
left a comment
There was a problem hiding this comment.
It took me a couple of reads, because the logic is subtle, but I agree with this approach. A couple small nits below.
Member
|
@codex review |
|
Codex Review: Didn't find any major issues. Delightful! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Member
|
Hye @gwenaskell, I am going to review this today. Need some time to evaluate future implications of this PR. |
pront
approved these changes
Mar 23, 2026
Member
pront
left a comment
There was a problem hiding this comment.
Code looks good. Left some suggestions for improving the changelog and rustdocs.
Co-authored-by: Pavlos Rontidis <pavlos.rontidis@gmail.com>
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Summary
This PR fixes task transforms utilization reporting by sending a utilization start_wait when the component downstream finishes polling the transform, and a stop_wait when it starts polling again. This ensures that the time elapsed while the transform is idle because the component downstream is busy is reported as idle and not busy, which is already the case for sync/function transforms.
Note: as of now, there is no task transform that spawns a task internally, i.e. they are not run concurrently (https://vector.dev/docs/architecture/concurrency-model/, #11857).
If that becomes a thing in the future, there might be situations where this fix makes the utilization report 0 while the component is doing CPU work, because the component downstream is also busy; but this is already what happens for sync and task transforms.
Vector configuration
How did you test this PR?
Added a unit test that replicates a task transform and measures the utilization in different situations.
Change Type
Is this a breaking change?
Does this PR include user facing changes?
no-changeloglabel to this PR.References
Notes
@vectordotdev/vectorto reach out to us regarding this PR.pre-pushhook, please see this template.make fmtmake check-clippy(if there are failures it's possible some of them can be fixed withmake clippy-fix)make testgit merge origin masterandgit push.Cargo.lock), pleaserun
make build-licensesto regenerate the license inventory and commit the changes (if any). More details here.