-
Notifications
You must be signed in to change notification settings - Fork 5.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(inputs.procstat): Handle running processes correctly across multiple filters #16257
fix(inputs.procstat): Handle running processes correctly across multiple filters #16257
Conversation
With the "new" style plugin filters, if multiple filters were used, the list of running processes was being reset on each filter iteration instead of globally. This commit fixes this by setting the running pid map outside the filter iteration. The cpu usage percentage calculation needs multiple passes of gather to calculate the difference so recreating the proc on each iteration meant it never got past the first pass.
Thanks so much for the pull request! |
!signed-cla |
Download PR build artifacts for linux_amd64.tar.gz, darwin_arm64.tar.gz, and windows_amd64.zip. 👍 This pull request doesn't change the Telegraf binary size 📦 Click here to get additional PR build artifactsArtifact URLs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for the fix @philjb!
Summary
With the "new" style plugin filters, if multiple filters were used, the list of running processes was being reset on each filter iteration instead of globally. This commit fixes this by setting the running pid map outside the filter iteration. The cpu usage percentage calculation needs multiple passes of gather to calculate the difference so recreating the proc on each iteration meant it never got past the first pass.
Checklist
Related issues