I have metric reported from application (let's call it) tasks. This metric is reported as counter by multiple instances of application. In addition this metric is reported per clientid and per userid (both are UUIDs).
I need to have one metric that describes overall performance of application as sum of rates of this metric across all dimensions.
Is it even possible?
I found following solution: counter_rate(sum(tasks)) but it is plain wrong. First of all it's not stable (when one instance resets counters counter_rate can't detect it) and second it needs to have scaling factor because sum() sums not only across possible dimensions but also across time.
What I actually need is functionrate() that calculates rates for all dimensions and then sum it.
We are aware of this being complicated at the moment and working on a solution that will make it as simple as picking a "rate" function and be done.
For now, at least in xy chart and table you are able to break down by the fields defining your series (clientid and userid in this case), calculating the counter rate for each series separately, then summing them up again:
Hey! Thank you for your prompt response, I will check if this works for me - I forgot to mention that cardinality of this data is in order of hundreds of thousands...
Ah good point, it won't work for hundreds of thousands separate series as you can't fetch this much information (the collapsing is done in the browser client)
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.