10 Oct 2023 09:46 PM
Hey guys,
I am creating a new SLO using the dynatrace feature. Before that, I have created and testing my metrics on dynatrace data explorer
So I have something like that:
builtin:service.requestCount.total:filter(in("dt.entity.service",entitySelector("type(service),tag(~"CONTAINER:my-container-name~")")))
This brings to me a total of requests as you can see
But I need to get the total amount in a different resolution, instead of 1 minute. I need to a 5 minutes resolution. In the data explorer, there is a resolution field on Settings that I can change it easily
Its works!
But now I need to use this in my SLO. For example:
((builtin:service.requestCount.total:filter(in("dt.entity.service",entitySelector("type(service),tag(~"CONTAINER:my-container-name~")"))):partition("latency",value("good",gt(1000))):splitBy():count:default(0)) / (1 *100))
Everything is ok. I mean the results of this query is ok. But the problem is that the SLO resolution is 1 minute and this affects the SLO result. Is it possible to change the SLO resolution to other value than 1 ?
PS.: I already know that dynatrace works with auto resolution according to the time range that is selected. But in this scenario is not useful for me. I would like to set my own SLO resolution
05 Jun 2024 09:22 AM
Hello Ramon,
I don't know of any way to change the SLO resolution to other value.
To transform the data and make it similar to what you wanted maybe try using the Rollup transformation. It'll smooth the data points, removing any spikes from the requested timeframe, so you will have aproximetly the same experience as using the Resolution.
Fo the documentation: "the transformation takes a data point, adds the four previous data point to form a rollup window, and then uses the average of these five datapoints to calculate the final datapoint value." so you cab use it like the next code to simulate a resolution of 5 min:
builtin:service.requestCount.total:splitBy():sort(value(auto,descending)):rollup(sum,5m)
Hope this helps!