I'm looking for a good way to deal with a gauge with significantly higher sampling rate than my Prometheus scrape interval.
I've played with histograms, but I'm mostly interested in mean anyway, so histograms are overkill for my purposes. This gauge also doesn't change very fast - I just want to know the full range it covered between scrapes. I want to know about the worst outliers.
Consequently I'm thinking providing a Summary with a mean, max and min would be perfect. MaxAge set to scrape interval plus one additional bucket, I suspect, would do the trick of always representing the full range, if scrapes are never late.
In principle I want the 0th and 100th percentile, but these are fairly easy to calculate with perfect accuracy for a given time window. (I'm thinking a queue for relevant samples, first sample in the front queue that's still within MaxAge to be returned when scraped - and new sample joining the back of the queue, kicking out any samples before it that are no longer relevant.)
I suspect this would need a new type, implementing Summary, and is probably fairly easy to add? In the meantime, I suppose I could experiment to see if a 0th and 100th percentile works almost how I want them to. Or read the code to understand the algorithm. :)
Thanks,
Hugo
Hi!
I'm looking for a good way to deal with a gauge with significantly higher sampling rate than my Prometheus scrape interval.
I've played with histograms, but I'm mostly interested in mean anyway, so histograms are overkill for my purposes. This gauge also doesn't change very fast - I just want to know the full range it covered between scrapes. I want to know about the worst outliers.
Consequently I'm thinking providing a Summary with a mean, max and min would be perfect. MaxAge set to scrape interval plus one additional bucket, I suspect, would do the trick of always representing the full range, if scrapes are never late.
In principle I want the 0th and 100th percentile, but these are fairly easy to calculate with perfect accuracy for a given time window. (I'm thinking a queue for relevant samples, first sample in the front queue that's still within MaxAge to be returned when scraped - and new sample joining the back of the queue, kicking out any samples before it that are no longer relevant.)
I suspect this would need a new type, implementing Summary, and is probably fairly easy to add? In the meantime, I suppose I could experiment to see if a 0th and 100th percentile works almost how I want them to. Or read the code to understand the algorithm. :)
Thanks,
Hugo
--
You received this message because you are subscribed to the Google Groups "Prometheus Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prometheus-devel...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.