graphite-project / graphite-web

A highly scalable real-time graphing system
http://graphite.readthedocs.org/
Apache License 2.0
5.9k stars 1.26k forks source link

[Q] summarize() function explanation #2629

Closed VtG242 closed 4 years ago

VtG242 commented 4 years ago

When a summarize() function with 1day interval and sum aggregation function is used like in example below: summarize(some.metric, '1d', 'sum') so everything is OK if data range interval is set up to 30 days but for a longer intervals an Y axis values are changed in strange way.

See attached pictures for better imagination: 30 days 31 days

Is this expected behaviour?

ploxiln commented 4 years ago

This is most likely related to your carbon storage-schemas.conf and storage-aggregation.conf - your storage-schemas.conf tells carbon to keep a higher resolution for just 30 days, and a lower resolution for a longer period, and your storage-aggregation.conf tells carbon to average values when copying from the higher-resolution to lower-resolution series. Then, when you tell graphite-web to go back further than 30 days, it skips the higher resolution series completely, and only uses the lower-resolution series (because it wants to use a single resolution variant to cover the entire period).

If you configure your storage-aggregation.conf to aggregate to the lower resolution using "sum" for this series, that should fix this problem. (These settings automatically apply only when the whisper storage file is initially created for a series, so you'll have to manually apply the change to the whisper file using the whisper utilities, or blow away the data and allow it to be re-created).

VtG242 commented 4 years ago

Thank you for explanation. I will check the configuration files.