-
Notifications
You must be signed in to change notification settings - Fork 239
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
Add livedebugging support for prometheus.scrape #2298
base: main
Are you sure you want to change the base?
Add livedebugging support for prometheus.scrape #2298
Conversation
movedTargetLabels.String(), | ||
) | ||
c.debugDataPublisher.Publish(componentID, data) | ||
} |
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.
with the scrape component it would be more interesting to get the metrics than the targets. I solved this on an experimental branch by using a Prometheus interceptor: https://github.com/grafana/alloy/blob/hackathon-alloy-live-graph/internal/component/prometheus/scrape/scrape.go#L266
I don't know if that's the best approach or not, it's crucial that it does not impact the performances when the debugDataPublisher is not active
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.
The interceptor sounds good. It acts a proxy function call and without debug enabled the publish is not going to happen. Also I see that the idea of interceptor is used in remote_write as well.
The other way is to hook up the interceptor only if the debugging is Active but it would make the code complicated as the Update
function only updates the config and we have scraper manager which runs independently of update.
I feel the interceptor sounds good. Do you have other thoughts ?
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.
I'm gonna run the interceptor version in a dev infra that uses prometheus scrape heavily to see if there are any performance problems.
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.
Sure ! If it helps I can make the interceptor changes to this branch for convenience. Shall add that commit ?
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 but you can leave it as it is for now, I will keep you updated on the tests
Docs are OK as they are right now. |
PR Description
Which issue(s) this PR fixes
Fixes #1031
Notes to the Reviewer
PR Checklist