12 Dec 2024 06:58 PM - last edited on 13 Dec 2024 08:08 AM by MaciejNeumann
I'm working with SLOs to calculate % of requests with response time < 1s, defined as follows:
In the data explorer:
The SLO using the Dynatrace template is 95,6%.
If I perform this calculation using Multidimensional Analysis, the result is not the same:
The SLO using manual calculations is: (5.16M/5.18M)x100=99.61%
Why this difference? I think this is related with the "partition" trasformation. How can I get the "real" value using SLOs?
Thank you.
13 Dec 2024 06:43 AM
Hi Damián,
I think that the difference is because of the aggregation. On Data Explorer you are using "avg" and on MDA you're using "count". Try to use "count" in Data Explorer to check that the results are the same that in MDA changing the aggregation to "Count".
Regards,
Elena.
13 Dec 2024 07:47 AM
Hi Elena,
It think this is not the case, because the "avg" aggregation in the Data Explorer is to get the number of requests with response time < 1s. I think they are counted with the aggregation "count" after the "splitby":
((builtin:service.response.time:filter(in("dt.entity.service",entitySelector("type(~"SERVICE~"),entityName.startswith(~"CE_~")"))):avg:partition(latency,value(good,lt(1000000))):splitBy():count:default(0))/(builtin:service.response.time:filter(in("dt.entity.service",entitySelector("type(~"SERVICE~"),entityName.startswith(~"CE_~")"))):avg:splitBy():count)*(100)):default(100,always)
In fact, if in the MDMA I use the "Response time" metric the value is the same as in my previous post:
Please note that my SLO is based in the Dynatrace SLO template for this cases:
Please correct me if I'm wrong.
Thank you!