25 Dec 2023 08:49 AM - last edited on 02 Jan 2024 08:58 AM by MaciejNeumann
Hello,
I'm just starting to figure out SLOs and i had the idea of giving a score to a certain service.
I was thinking of combining multiple metrics in an equation to have a final single score given to a requets for example.
The first thing i had in mind was :
Availability
Success rate
Response time
Success rate would be total requests - total errors of the requests
Response time would be for example the number of requests under 3 seconds
Availability : i don't know how to calculate it for the moment.
And then sum all and divide by the total to get the average and that would be the score
and then set target to that specific score.
Example
Availability : 100 % Success rate 98% response time 96%
Score : 98% => ((100+98+96)/3)
Did anyone else work with this, do you have any suggestions or examples you already implemented as SLOs
I would love to know what you guys did with SLOs
Solved! Go to Solution.
02 Jan 2024 04:17 PM - edited 02 Jan 2024 04:20 PM
Are you sure at all
that you need composite SLO?
Every parameter you would like to combine into 1 SLO will affect on
- debug time
- decision about severity
- time to react
- and indeed you will face with cross-team knowledge transfer overhead
Think about what is critical in your service/app
Maybe generic service SLO is not applicable and need to focus on 3-5 main API endpoints wich are historically making 80% of troubles (paret rule)
03 Jan 2024 09:02 AM
@Slawa we already have set specific SLOs to services but we wanted to have this new approach called score so it would be easier to know the health of a service by a single metric
02 Jan 2024 04:27 PM
Hi @SOBE ,
I think you'll get the information you're looking for in the following article: https://www.dynatrace.com/news/blog/slo-service-creating-global-slos/
In order to be precise when the investigation is necessary, I would advise you to do 3 SLOs and then a 4th which would be global 🙂
02 Jan 2024 04:37 PM
From My Experience working with SLOs i would reccomend this approach if you are looking at some kind of representation of a total score, with also additional global scores
- Keep your main core SLOs around , Availability ,Success rate ,Response time
- You dont have to make a Global SLO for the grouped metrics you can create a chart and in the advanced mode use the SLO metrics created and divide with a total count of SLO you are addint to your score:
(SLO1 + SLO2 .... SLOx) / x
I built a small example here:
Code for the tile is this: ((func:slo.carts_service)+(func:slo.carts_availability))/2
The article posted about by Paco is fantastic and is a great way to start to get a better idea of how you can effectivly use SLOs.
03 Jan 2024 09:08 AM
@LukeHearth exactly what i was talking about !
Thank you for the example, i'll try to start with that.
one more question, is availability and success rate the same thing ?
03 Jan 2024 09:13 AM
Hi @SOBE ,
In this case yes the availability SLO there is measured as the successful requests of the carts services divided by the total number of requests.
Yours,
Luke Hearth
04 Jan 2024 12:10 PM
And let me add another article :
https://www.dynatrace.com/news/blog/implementing-service-level-objectives/
04 Jan 2024 06:48 AM
Adding my own two cents to the discussion between @SOBE and @LukeHearth :
The metric tile is a great solution. That being said, whether you should go for that or for a global/metric expression based SLO is a question of requirement. Remember that SLOs provide not just the end score but also alerts and means to evaluate your eror budget. This goes deeper into SRE methodologies so if you are using your total service score in order to make decisions about future developments/bug fixes, etc - perhaps SLO would be the better solution.
In any case - just as you create the metric tile with a complex expression, you could do the same to create an slo which is based on the same metric expression.
Gil.
04 Jan 2024 09:12 AM
Great Point here @gilgi ,
Both of our solutions here are accptable and meet the needs of this question. Making this into a SLO has its own advantages such as enabling burn rate alerting so i agree with your point above. I believe your solution above is a great enhancment to my solution after users get comfortable and are happy with the advanced data explorer metric maths that i posted above.
Yours,
Luke Hearth
04 Jan 2024 10:55 AM
@gilgi ,
I completely agree, that's why I proposed the article and why I configured it this way on my side.
Creating SLOs and processing alerts on them allows you to better process strong signals as well as to be less overwhelmed by all independent problems
22 Dec 2023 03:15 PM - last edited on 02 Jan 2024 08:45 AM by MaciejNeumann
Hello,
I'm just starting to figure out SLOs and i had the idea of giving a score to a certain service.
I was thinking of combining multiple metrics in an equation to have a final single score given to a requets for example.
The first thing i had in mind was :
Availability
Success rate
Response time
Success rate would be total requests - total errors of the requests
Response time would be for example the number of requests under 3 seconds
Availability : i don't know how to calculate it for the moment.
And then sum all and divide by the total to get the average and that would be the score
and then set target to that specific score.
Example
Availability : 100 % Success rate 98% response time 96%
Score : 98% => ((100+98+96)/3)
Did anyone else work with this, do you have any suggestions or examples you already implemented as SLOs
I would love to know what you guys did with SLOs
05 Jan 2024 09:50 PM
hi, @SOBE
This post is a duplicate with this one : https://community.dynatrace.com/t5/Open-Q-A/SLOs-service-Request-score/m-p/233351#M30291
@MaciejNeumann, What is the process for removing duplicates?
07 Jan 2024 11:16 PM
Hi,
I have just move it as duplicate.
Best regards
08 Jan 2024 10:35 AM
Thank you!
08 Jan 2024 10:35 AM
Hi @gbaudart,
Usually, we'll merge the threads into one, in case of duplicates - the comments and the main question from the second thread are then transferred into comments to the first one, so we won't miss any content posted in both threads. If we catch the duplicate before anything is posted, we're just deleting it.
As for the process - you can either ping anyone from the Community team in the message, or mark the post as spam/report it from the dropdown menu.
08 Jan 2024 10:37 AM
hi @MaciejNeumann ,
ok, I note it.
Thanks for this information