Reputation: 1057
I'm new at Graphite and I want to do something pretty specific but I would think pretty typical at the same time.
I use Graphite to chart how a show how many messages my application handles throughout the day (from 08:30 to 16:00), charted as a time series. In order to determine whether it's an average, slow or super busy day, I would like to also show on the same chart avg, min, max values based on previous days' measurements.
I wrote a custom application that does that but Graphite seems more powerful and more scalable.
Here's a sample of what I have in mind: https://dl.dropboxusercontent.com/u/33599458/monitor_chart_vm_mq_with_outliers.png
You will note the 3 yellow area charts representing from bottom to top, the min, avg and max for previous days and the red line for today.
Any tips will be greatly appreciated.
Thanks!
Upvotes: 0
Views: 518
Reputation: 1057
I have found my own answer, more or less... One can use a combination of the timeStack and max/average/minSeries functions as follows with the my_metric example and a time range of 60 days:
my_metric alias(maxSeries(timeStack(my_metric,"1d",0,60)),"Max") alias(averageSeries(timeStack(my_metric,"1d",0,60)),"Avg") alias(minSeries(timeStack(my_metric,"1d",0,60)),"Min")
Upvotes: 1