Skip to content
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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

ravishankar15
Copy link
Contributor

PR Description

Which issue(s) this PR fixes

Fixes #1031

Notes to the Reviewer

PR Checklist

  • CHANGELOG.md updated
  • Documentation added
  • Tests updated

movedTargetLabels.String(),
)
c.debugDataPublisher.Publish(componentID, data)
}
Copy link
Contributor

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

Copy link
Contributor Author

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 ?

Copy link
Contributor

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.

Copy link
Contributor Author

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 ?

Copy link
Contributor

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

@clayton-cornell clayton-cornell added the type/docs Docs Squad label across all Grafana Labs repos label Jan 2, 2025
@clayton-cornell
Copy link
Contributor

Docs are OK as they are right now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/docs Docs Squad label across all Grafana Labs repos
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add live debugging support to prometheus.scrape
3 participants