diff --git a/service_level_objective.md b/service_level_objective.md index 59b3a39..892a232 100644 --- a/service_level_objective.md +++ b/service_level_objective.md @@ -91,9 +91,25 @@ objectives: key_sli: true ``` -Further assume, that in the previous evaluation error_rate was 5%. The upper limit for pass is 5.5% (5 + 10%). The following list shows the evaluation results for all possible error_rate values. -* pass: <= 5.5% -* fail: > 5.5% +Further assume, that in the previous evaluation the metric response_time_p95 was 5. The upper limit for pass is 5.5 (5 + 10%). The evaluation results for all possible values would be: +* pass: <= 5.5 +* fail: > 5.5 + +Listed criteria are combined using a logical AND, so if we consider the pass criteria in our example both "<=+10%" and "<600" needs to be satisfied. +To list multiple criteria (logical OR) it is enough to list them in different criteria element, for instance the following would enforce for response time not to be higher than 10% compared to the previous value or to be greater than 600: + +```yaml +objectives: +- sli: response_time_p95 + displayName: "Response Time P95" + pass: + - criteria: + - "<=+10%" + - criteria: + - "<600" + weight: 2 + key_sli: true +``` ## Scoring