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 function
rate() 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:
See under "appearance" the "Collapse by" setting. Does this help with your use case?
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)
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.