cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

SLOs service / Request score

SOBE
Guide

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

16 REPLIES 16

Slawa
Advisor

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)

@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

gbaudart
DynaMight Champion
DynaMight Champion

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 🙂

 

 

Observability Consultant - Dynatrace Professional Certified

LukeHearth
Dynatrace Helper
Dynatrace Helper

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

luke_hearth_0-1704213218570.png

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.

@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 ? 

LukeHearth
Dynatrace Helper
Dynatrace Helper

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

gilgi
DynaMight Champion
DynaMight Champion

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.

LukeHearth
Dynatrace Helper
Dynatrace Helper

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

gbaudart
DynaMight Champion
DynaMight Champion

@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

Observability Consultant - Dynatrace Professional Certified

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

gbaudart
DynaMight Champion
DynaMight Champion

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?

Observability Consultant - Dynatrace Professional Certified

Hi,

I have just move it as duplicate.

Best regards

❤️ Emacs ❤️ Vim ❤️ Bash ❤️ Perl

Thank you!

If you have any questions about the Community, you can contact me at maciej.neumann@dynatrace.com

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.

If you have any questions about the Community, you can contact me at maciej.neumann@dynatrace.com

hi @MaciejNeumann ,
ok, I note it.
Thanks for this information

Observability Consultant - Dynatrace Professional Certified

Featured Posts