← Back to team overview

graphite-dev team mailing list archive

[Question #249090]: Accurately sum counter across time scales?

 

New question #249090 on Graphite:
https://answers.launchpad.net/graphite/+question/249090

How do I accurately get a total hit count over all time for a counter stat?  summarize() is returning inconsistent results, I think because it's not taking into account the different time scales properly.

Details:
* I have a deploy_count stat and write data points (# of deploys) every 5 seconds.
* The aggregation method is set to "sum" in storage-aggregation.conf.
* The retention is set to "5s:4h,1m:3d,15m:35d,12h:6y" in storage-schemas.conf.
* I'm using graphite 0.9.10.

I want to get an accurate "total deploys over all time" number.  In theory this should be as simple as summing all of the data points we've sent to graphite.

I'm currently doing /render?target=summarize(deploy_count, "6years", "sum")&from=-6years&format=json

This works, but if I do this repeatedly, I get inconsistent results.  E.g., I'll get 21333 and then 10 minutes later, get a smaller number like 20572, then 10 minutes later I'll get a bigger number again, like 21431.  This is obviously impossible, since it should be monotonically increasing.

I also tried using hitcount() with a period of 6years, but since it estimates the actual hit count for the period, that doesn't work.

Any tips?

-- 
You received this question notification because you are a member of
graphite-dev, which is an answer contact for Graphite.