From 107fd6fe4ed30170d8ddc7e92eb5f3d0f67b7655 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Dobek?= Date: Fri, 6 Sep 2024 16:37:43 +0200 Subject: [PATCH] feat: PC-13724 Add custom thresholds for SHR (#530) ## Motivation Currently, System Health Review report is built using error budget remaining metric. Whether an SLO is marked as Red (Exhausted), Green (Healthy), or Yellow (At Risk) depends upon a static value. This PR opens up a window towards user-defined thresholds. If user decides that SLO should be marked as Healthy when it has more than 50% budget remaining, they will set `spec.systemHealthReview.thresholds.greenGt` field to `0.5`. If user wants to remove AtRisk threshold, they will set `spec.systemHealthReview.thresholds.redLte` to the same value as `greenGt` (`0.5`). Additionally, if users decides that NoData SLOs are supposed to be displayed on their report, a field `ShowNoData` is provided that can be set to true in such case. ## Summary `Thresholds` object with three fields (`GreenGreaterThan`, `RedLessThanOrEqualTo` and `ShowNoData`) was added to `SystemHealthReviewConfig` along with validation of said fields. ## Release Notes `Thresholds` object with three fields (`GreenGreaterThan`, `RedLessThanOrEqualTo` and `ShowNoData`) was added to `SystemHealthReviewConfig`. It allows users to define custom values for `Healthy` (`Green`), `AtRisk` (`Yellow`) and `Exhausted` (`Red`) thresholds and to decide whether to display or hide `NoData` SLOs on System Health Review report. It will be available once Nobl9 platform version 1.97.2 is released. --- internal/manifest/v1alpha/examples/report.go | 4 + manifest/v1alpha/report/example_test.go | 9 ++ manifest/v1alpha/report/examples.yaml | 4 + .../v1alpha/report/system_health_review.go | 10 ++ .../report/validation_system_health_review.go | 29 ++++ manifest/v1alpha/report/validation_test.go | 127 +++++++++++++++++- sdk/config_activity.png | Bin 34339 -> 34341 bytes 7 files changed, 182 insertions(+), 1 deletion(-) diff --git a/internal/manifest/v1alpha/examples/report.go b/internal/manifest/v1alpha/examples/report.go index 0431473d..fb3cf651 100644 --- a/internal/manifest/v1alpha/examples/report.go +++ b/internal/manifest/v1alpha/examples/report.go @@ -41,6 +41,10 @@ func Report() []Example { }, }, }, + Thresholds: report.Thresholds{ + RedLessThanOrEqual: ptr(0.8), + GreenGreaterThan: ptr(0.95), + }, }, }, ), diff --git a/manifest/v1alpha/report/example_test.go b/manifest/v1alpha/report/example_test.go index 0f55985d..612cfbfc 100644 --- a/manifest/v1alpha/report/example_test.go +++ b/manifest/v1alpha/report/example_test.go @@ -78,6 +78,11 @@ func ExampleReport_systemHealthReview() { }, }, }, + Thresholds: report.Thresholds{ + RedLessThanOrEqual: ptr(0.8), + GreenGreaterThan: ptr(0.95), + ShowNoData: false, + }, }, }, ) @@ -135,6 +140,10 @@ func ExampleReport_systemHealthReview() { // labels: // key3: // - value1 + // thresholds: + // redLte: 0.8 + // greenGt: 0.95 + // showNoData: false } func ExampleReport_sloHistory() { diff --git a/manifest/v1alpha/report/examples.yaml b/manifest/v1alpha/report/examples.yaml index fb336cfd..21ce6783 100644 --- a/manifest/v1alpha/report/examples.yaml +++ b/manifest/v1alpha/report/examples.yaml @@ -25,6 +25,10 @@ key2: - value2 - value3 + thresholds: + redLte: 0.8 + greenGt: 0.95 + showNoData: false - apiVersion: n9/v1alpha kind: Report metadata: diff --git a/manifest/v1alpha/report/system_health_review.go b/manifest/v1alpha/report/system_health_review.go index f10433e5..d17457bd 100644 --- a/manifest/v1alpha/report/system_health_review.go +++ b/manifest/v1alpha/report/system_health_review.go @@ -6,6 +6,16 @@ type SystemHealthReviewConfig struct { TimeFrame SystemHealthReviewTimeFrame `json:"timeFrame" validate:"required"` RowGroupBy RowGroupBy `json:"rowGroupBy" validate:"required" example:"project"` Columns []ColumnSpec `json:"columns" validate:"min=1,max=30"` + Thresholds Thresholds `json:"thresholds" validate:"required"` +} + +type Thresholds struct { + RedLessThanOrEqual *float64 `json:"redLte" validate:"required" example:"0.8"` + // Yellow is calculated as the difference between Red and Green + // thresholds. If Red and Green are the same, Yellow is not used on the report. + GreenGreaterThan *float64 `json:"greenGt" validate:"required" example:"0.95"` + // ShowNoData customizes the report to either show or hide rows with no data. + ShowNoData bool `json:"showNoData"` } type ColumnSpec struct { diff --git a/manifest/v1alpha/report/validation_system_health_review.go b/manifest/v1alpha/report/validation_system_health_review.go index e6493749..18ce3f7e 100644 --- a/manifest/v1alpha/report/validation_system_health_review.go +++ b/manifest/v1alpha/report/validation_system_health_review.go @@ -24,6 +24,10 @@ var systemHealthReviewValidation = govy.New[SystemHealthReviewConfig]( WithName("timeFrame"). Required(). Include(timeFrameValidation), + govy.For(func(s SystemHealthReviewConfig) Thresholds { return s.Thresholds }). + WithName("thresholds"). + Required(). + Include(reportThresholdsValidation), ) var columnValidation = govy.New[ColumnSpec]( @@ -53,6 +57,31 @@ var timeFrameValidation = govy.New[SystemHealthReviewTimeFrame]( Include(snapshotTimeFrameLatestPointValidation), ) +var reportThresholdsValidation = govy.New[Thresholds]( + govy.For(govy.GetSelf[Thresholds]()). + Rules(redLteValidation), + govy.ForPointer(func(s Thresholds) *float64 { return s.RedLessThanOrEqual }). + WithName("redLte"). + Required(). + Rules(rules.GTE(0.0), rules.LTE(1.0)), + govy.ForPointer(func(s Thresholds) *float64 { return s.GreenGreaterThan }). + WithName("greenGt"). + Required(). + Rules(rules.GTE(0.0), rules.LTE(1.0)), +) + +var redLteValidation = govy.NewRule(func(v Thresholds) error { + if v.RedLessThanOrEqual != nil && v.GreenGreaterThan != nil { + if *v.RedLessThanOrEqual > *v.GreenGreaterThan { + return govy.NewPropertyError( + "redLte", + v.RedLessThanOrEqual, + errors.Errorf("must be less than or equal to 'greenGt' (%v)", *v.GreenGreaterThan)) + } + } + return nil +}) + var snapshotValidation = govy.New[SnapshotTimeFrame]( govy.For(func(s SnapshotTimeFrame) SnapshotPoint { return s.Point }). WithName("point"). diff --git a/manifest/v1alpha/report/validation_test.go b/manifest/v1alpha/report/validation_test.go index 6832df40..c4939a6b 100644 --- a/manifest/v1alpha/report/validation_test.go +++ b/manifest/v1alpha/report/validation_test.go @@ -107,7 +107,7 @@ func TestValidate_Spec(t *testing.T) { }, } err := validate(report) - testutils.AssertContainsErrors(t, report, err, 1, testutils.ExpectedError{ + testutils.AssertContainsErrors(t, report, err, 2, testutils.ExpectedError{ Prop: "spec", Message: "exactly one report type configuration is required", }) @@ -512,6 +512,10 @@ func TestValidate_Spec_SystemHealthReview(t *testing.T) { Columns: []ColumnSpec{ {DisplayName: "Column 1", Labels: properLabel}, }, + Thresholds: Thresholds{ + RedLessThanOrEqual: func(f float64) *float64 { return &f }(0.0), + GreenGreaterThan: func(f float64) *float64 { return &f }(0.2), + }, }, }, "fails with empty columns": { @@ -531,6 +535,10 @@ func TestValidate_Spec_SystemHealthReview(t *testing.T) { }, RowGroupBy: RowGroupByProject, Columns: []ColumnSpec{}, + Thresholds: Thresholds{ + RedLessThanOrEqual: func(f float64) *float64 { return &f }(0.0), + GreenGreaterThan: func(f float64) *float64 { return &f }(0.2), + }, }, }, "fails with too many columns": { @@ -582,6 +590,10 @@ func TestValidate_Spec_SystemHealthReview(t *testing.T) { {DisplayName: "Column 30", Labels: properLabel}, {DisplayName: "Column 31", Labels: properLabel}, }, + Thresholds: Thresholds{ + RedLessThanOrEqual: func(f float64) *float64 { return &f }(0.0), + GreenGreaterThan: func(f float64) *float64 { return &f }(0.2), + }, }, }, "fails with empty labels": { @@ -603,6 +615,10 @@ func TestValidate_Spec_SystemHealthReview(t *testing.T) { Columns: []ColumnSpec{ {DisplayName: "Column 1", Labels: map[LabelKey][]LabelValue{}}, }, + Thresholds: Thresholds{ + RedLessThanOrEqual: func(f float64) *float64 { return &f }(0.0), + GreenGreaterThan: func(f float64) *float64 { return &f }(0.2), + }, }, }, "fails with empty displayName": { @@ -624,6 +640,60 @@ func TestValidate_Spec_SystemHealthReview(t *testing.T) { Columns: []ColumnSpec{ {Labels: properLabel}, }, + Thresholds: Thresholds{ + RedLessThanOrEqual: func(f float64) *float64 { return &f }(0.0), + GreenGreaterThan: func(f float64) *float64 { return &f }(0.2), + }, + }, + }, + "fails with empty thresholds": { + ExpectedErrorsCount: 1, + ExpectedErrors: []testutils.ExpectedError{ + { + Prop: "spec.systemHealthReview.thresholds", + Code: rules.ErrorCodeRequired, + }, + }, + Config: SystemHealthReviewConfig{ + TimeFrame: SystemHealthReviewTimeFrame{ + Snapshot: SnapshotTimeFrame{ + Point: SnapshotPointLatest, + }, + TimeZone: "Europe/Warsaw", + }, + RowGroupBy: RowGroupByProject, + Columns: []ColumnSpec{ + {DisplayName: "Column 1", Labels: properLabel}, + }, + }, + }, + "fails with invalid thresholds": { + ExpectedErrorsCount: 2, + ExpectedErrors: []testutils.ExpectedError{ + { + Prop: "spec.systemHealthReview.thresholds.redLte", + Code: rules.ErrorCodeGreaterThanOrEqualTo, + }, + { + Prop: "spec.systemHealthReview.thresholds.greenGt", + Code: rules.ErrorCodeLessThanOrEqualTo, + }, + }, + Config: SystemHealthReviewConfig{ + TimeFrame: SystemHealthReviewTimeFrame{ + Snapshot: SnapshotTimeFrame{ + Point: SnapshotPointLatest, + }, + TimeZone: "Europe/Warsaw", + }, + RowGroupBy: RowGroupByProject, + Columns: []ColumnSpec{ + {DisplayName: "Column 1", Labels: properLabel}, + }, + Thresholds: Thresholds{ + RedLessThanOrEqual: func(f float64) *float64 { return &f }(-0.1), + GreenGreaterThan: func(f float64) *float64 { return &f }(1.1), + }, }, }, } { @@ -634,6 +704,32 @@ func TestValidate_Spec_SystemHealthReview(t *testing.T) { testutils.AssertContainsErrors(t, report, err, test.ExpectedErrorsCount, test.ExpectedErrors...) }) } + + t.Run("fails when red is greater than green", func(t *testing.T) { + report := validReport() + report.Spec.SystemHealthReview = &SystemHealthReviewConfig{ + TimeFrame: SystemHealthReviewTimeFrame{ + Snapshot: SnapshotTimeFrame{ + Point: SnapshotPointLatest, + }, + TimeZone: "Europe/Warsaw", + }, + RowGroupBy: RowGroupByProject, + Columns: []ColumnSpec{ + {DisplayName: "Column 1", Labels: properLabel}, + }, + Thresholds: Thresholds{ + RedLessThanOrEqual: func(f float64) *float64 { return &f }(0.2), + GreenGreaterThan: func(f float64) *float64 { return &f }(0.1), + }, + } + err := validate(report) + testutils.AssertContainsErrors(t, report, err, 1, testutils.ExpectedError{ + Prop: "spec.systemHealthReview.thresholds.redLte", + Message: "must be less than or equal to 'greenGt' (0.1)", + }, + ) + }) } func TestValidate_Spec_SystemHealthReview_TimeFrame(t *testing.T) { @@ -655,6 +751,10 @@ func TestValidate_Spec_SystemHealthReview_TimeFrame(t *testing.T) { Columns: []ColumnSpec{ {DisplayName: "Column 1", Labels: map[LabelKey][]LabelValue{"key1": {"value1"}}}, }, + Thresholds: Thresholds{ + RedLessThanOrEqual: func(f float64) *float64 { return &f }(0.0), + GreenGreaterThan: func(f float64) *float64 { return &f }(0.2), + }, }, }, "fails with empty point in snapshot": { @@ -674,6 +774,10 @@ func TestValidate_Spec_SystemHealthReview_TimeFrame(t *testing.T) { Columns: []ColumnSpec{ {DisplayName: "Column 1", Labels: map[LabelKey][]LabelValue{"key1": {"value1"}}}, }, + Thresholds: Thresholds{ + RedLessThanOrEqual: func(f float64) *float64 { return &f }(0.0), + GreenGreaterThan: func(f float64) *float64 { return &f }(0.2), + }, }, }, "fails with empty data in past point snapshot": { @@ -695,6 +799,10 @@ func TestValidate_Spec_SystemHealthReview_TimeFrame(t *testing.T) { Columns: []ColumnSpec{ {DisplayName: "Column 1", Labels: map[LabelKey][]LabelValue{"key1": {"value1"}}}, }, + Thresholds: Thresholds{ + RedLessThanOrEqual: func(f float64) *float64 { return &f }(0.0), + GreenGreaterThan: func(f float64) *float64 { return &f }(0.2), + }, }, }, "fails with wrong rrule format in past point snapshot": { @@ -721,6 +829,10 @@ func TestValidate_Spec_SystemHealthReview_TimeFrame(t *testing.T) { Columns: []ColumnSpec{ {DisplayName: "Column 1", Labels: map[LabelKey][]LabelValue{"key1": {"value1"}}}, }, + Thresholds: Thresholds{ + RedLessThanOrEqual: func(f float64) *float64 { return &f }(0.0), + GreenGreaterThan: func(f float64) *float64 { return &f }(0.2), + }, }, }, "fails with invalid rrule in past point snapshot": { @@ -747,6 +859,10 @@ func TestValidate_Spec_SystemHealthReview_TimeFrame(t *testing.T) { Columns: []ColumnSpec{ {DisplayName: "Column 1", Labels: map[LabelKey][]LabelValue{"key1": {"value1"}}}, }, + Thresholds: Thresholds{ + RedLessThanOrEqual: func(f float64) *float64 { return &f }(0.0), + GreenGreaterThan: func(f float64) *float64 { return &f }(0.2), + }, }, }, "fails with forbidden fields provided in latest point snapshot": { @@ -774,6 +890,10 @@ func TestValidate_Spec_SystemHealthReview_TimeFrame(t *testing.T) { Columns: []ColumnSpec{ {DisplayName: "Column 1", Labels: map[LabelKey][]LabelValue{"key1": {"value1"}}}, }, + Thresholds: Thresholds{ + RedLessThanOrEqual: func(f float64) *float64 { return &f }(0.0), + GreenGreaterThan: func(f float64) *float64 { return &f }(0.2), + }, }, }, } { @@ -853,6 +973,11 @@ func validReport() Report { }, }, }, + Thresholds: Thresholds{ + RedLessThanOrEqual: func(f float64) *float64 { return &f }(0.8), + GreenGreaterThan: func(f float64) *float64 { return &f }(0.95), + ShowNoData: true, + }, }, }, } diff --git a/sdk/config_activity.png b/sdk/config_activity.png index b0b80f01ffee642470b92089600f391f2b83b7c1..071c94bef33e449b8f5ab7a6bee7d17d51a419ba 100644 GIT binary patch literal 34341 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