← Back to team overview

graphite-dev team mailing list archive

[Question #666860]: Graphite: Pass same filtered SeriesList from two different days to asPercent()

 

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

I have a graphite metric for event counts for different placements as following:

stats.counters.events.placements.count
I am interested to find the percentage comparison between today's and yesterdays's same time 2 hour moving averages for each placement. I have the following function which is working fine:

asPercent(
    groupByNode(
        movingAverage(stats.counters.events.*.count, '2hour'), 
    3, "averageSeries"),        
    groupByNode(
        movingAverage(
            timeShift(stats.counters.events.*.count, '1d'), 
        '2hour'), 
    3, "averageSeries")
)
Now I want to enhance it, by adding some filter. E.g. some of my placement counts are very low, I want to filter those placements out for which the average count is less than 100.

so basically find the filtered seriesList of placements from yesterday (denominator) and compare the SAME placement list counts from today (numerator)

I got yesterday's list:

averageAbove(timeShift(stats.counters.events.*.count, '1d'), 100)

but not sure how to enforce the same placement list for today's count (on the numerator), since applying averageAbove() on today's count i.e.

averageAbove(stats.counters.events.*.count, 100) 
may give a different list, and pass two different seriesLists to the asPercent().

Is there any way to achieve this by using mapSeries()/reduceSeries() combination or by some other way.

Thanks in advance.

-- 
You received this question notification because your team graphite-dev
is an answer contact for Graphite.