Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Graphite how to summarize based on selected interval

How can I summarize graphite data depending on the selected interval? If the selected interval is up to 1 hour, the data counter should show data points for every minute. If the interval is up to 3 hours, the data should be summarized over 5 minutes. If the interval is up to 1 day, the data should be summarized over 15 minutes.

Is this possible?

like image 357
Joyce Babu Avatar asked Oct 25 '14 16:10

Joyce Babu


2 Answers

You can get something close this this using by creating an interval template variable, enable the Auto option, and set number of steps. In the example below it's set to 40 steps so it will pick an appropriate interval based on the time range.

enter image description here

Use the variable like this: enter image description here

like image 100
blak3r Avatar answered Nov 15 '22 14:11

blak3r


AFAIK Graphite doesn't do this automatically.

However since Graphite has a public API you can script this yourself automatically to retrieve the graph with the correct summarizing period. Grafana for example does this when using the 'auto' option for interval template.

Pseudo-code:

if interval == '1h':
    get_metric(summarize(metric, '1min', 'sum')
elif interval == '3h':
    get_metric(summarize(metric, '5min', 'sum')
elif interval == '1d':
    get_metric(summarize(metric, '15min', 'sum')
like image 28
dukebody Avatar answered Nov 15 '22 15:11

dukebody