-
Notifications
You must be signed in to change notification settings - Fork 206
feat: add capability to purge old histogram data #451
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
Conversation
Rework static metric names and add new routing layer
…her_fix metrics-exporter-prometheus: sanitize matchers the same as input keys
…enhancements registry: add clear method
…enhancements metrics-util: make generation tracking configurable in Registry
The Atomic::compare_exchange function only appears in 0.9.2.
Fix minium version of crossbeam-epoch
t1ha causes a global-buffer-overflow when testing under ASAN. This change switches the default hash implementation to aHash which has a similar performance approach. Switch to aHash removes the global-buffer-overflow and the tests complete successfully. In general, cargo bench shows performance improvements as high as 31% on specific benches. There are 3 regressions and 29 improvements total
dbbb01d to
139bdd0
Compare
- add purge_timeout option to PrometheusBuilder - run a purger that purges based on the purge_timeout
139bdd0 to
f4abc32
Compare
|
As I read back through what I originally wrote... I think a major flaw with my proposal to do this by periodically calling I think what we'd actually have to do here is split the logic out of Does that make sense? |
|
Thanks for the update!
Does this refer to the |
(Sorry for the delayed response here.) Yes, you're right that this would be the crux of the concern. The example would be something like:
Despite metric A being updated between the two scrapes at t=0 and t=30, we've actually missed the update to metric A, which if we were only rendering during scrapes, would have been included in the second scrape. |
Ah this makes sense once I checked documentation for PrometheusBuilder::idle_timeout:
I have separated out the |
b87237b to
568e0fb
Compare
What
Implements third way as prescribed here to purge old histogram data:
Fixes #245