From a068af54f795aa581f0ab040d3d3462c53e0b37c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 16:41:21 +0100 Subject: [PATCH] Bump github.com/machadovilaca/operator-observability (#448) Bumps [github.com/machadovilaca/operator-observability](https://github.com/machadovilaca/operator-observability) from 0.0.12 to 0.0.17. - [Release notes](https://github.com/machadovilaca/operator-observability/releases) - [Commits](https://github.com/machadovilaca/operator-observability/compare/v0.0.12...v0.0.17) --- updated-dependencies: - dependency-name: github.com/machadovilaca/operator-observability dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 +-- .../pkg/operatormetrics/histogram.go | 33 +++++-------------- .../pkg/operatormetrics/histogram_vec.go | 6 ++-- .../pkg/operatormetrics/summary.go | 30 +++++------------ .../pkg/operatormetrics/summary_vec.go | 6 ++-- .../pkg/operatormetrics/wrapper_registry.go | 10 +++++- .../pkg/operatorrules/prometheusrules.go | 15 ++++----- .../pkg/operatorrules/registry.go | 13 ++++++++ vendor/modules.txt | 4 +-- 10 files changed, 56 insertions(+), 67 deletions(-) diff --git a/go.mod b/go.mod index 562bd3f8..06f5bd9e 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/go-logr/logr v1.4.1 github.com/go-logr/zapr v1.3.0 github.com/kubevirt/monitoring/pkg/metrics/parser v0.0.0-20230710120526-cc1644c90b64 - github.com/machadovilaca/operator-observability v0.0.12 + github.com/machadovilaca/operator-observability v0.0.17 github.com/onsi/ginkgo/v2 v2.17.0 github.com/onsi/gomega v1.32.0 github.com/openshift/api v3.9.1-0.20190924102528-32369d4db2ad+incompatible diff --git a/go.sum b/go.sum index de92c93b..74effbc6 100644 --- a/go.sum +++ b/go.sum @@ -1338,8 +1338,8 @@ github.com/lucas-clemente/quic-go v0.10.2/go.mod h1:hvaRS9IHjFLMq76puFJeWNfmn+H7 github.com/lucas-clemente/quic-go-certificates v0.0.0-20160823095156-d2f86524cced/go.mod h1:NCcRLrOTZbzhZvixZLlERbJtDtYsmMw8Jc4vS8Z0g58= github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= -github.com/machadovilaca/operator-observability v0.0.12 h1:rd9iFmvWJiYS8LdW6siAiz8kLigcNLa1+dmCVb7dFxs= -github.com/machadovilaca/operator-observability v0.0.12/go.mod h1:NGkaR3HEYLScVQf6kQAyxWOSN1ltHcsEvHU/8iIJ8cE= +github.com/machadovilaca/operator-observability v0.0.17 h1:XHL+YHkCv5WN5MKMR+/ld5pOnRnLVzxVX2b5OvSfhzs= +github.com/machadovilaca/operator-observability v0.0.17/go.mod h1:e4Z3VhOXb9InkmSh00JjqBBijE+iD+YMzynBpKB3+gE= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= diff --git a/vendor/github.com/machadovilaca/operator-observability/pkg/operatormetrics/histogram.go b/vendor/github.com/machadovilaca/operator-observability/pkg/operatormetrics/histogram.go index 2a762274..b764835e 100644 --- a/vendor/github.com/machadovilaca/operator-observability/pkg/operatormetrics/histogram.go +++ b/vendor/github.com/machadovilaca/operator-observability/pkg/operatormetrics/histogram.go @@ -1,8 +1,6 @@ package operatormetrics import ( - "time" - "github.com/prometheus/client_golang/prometheus" ) @@ -10,23 +8,14 @@ type Histogram struct { prometheus.Histogram metricOpts MetricOpts - histogramOpts HistogramOpts + histogramOpts prometheus.HistogramOpts } var _ Metric = &Histogram{} -type HistogramOpts struct { - Buckets []float64 - NativeHistogramBucketFactor float64 - NativeHistogramZeroThreshold float64 - NativeHistogramMaxBucketNumber uint32 - NativeHistogramMinResetDuration time.Duration - NativeHistogramMaxZeroThreshold float64 -} - // NewHistogram creates a new Histogram. The Histogram must be registered with the // Prometheus registry through RegisterMetrics. -func NewHistogram(metricOpts MetricOpts, histogramOpts HistogramOpts) *Histogram { +func NewHistogram(metricOpts MetricOpts, histogramOpts prometheus.HistogramOpts) *Histogram { return &Histogram{ Histogram: prometheus.NewHistogram(makePrometheusHistogramOpts(metricOpts, histogramOpts)), metricOpts: metricOpts, @@ -34,24 +23,18 @@ func NewHistogram(metricOpts MetricOpts, histogramOpts HistogramOpts) *Histogram } } -func makePrometheusHistogramOpts(metricOpts MetricOpts, histogramOpts HistogramOpts) prometheus.HistogramOpts { - return prometheus.HistogramOpts{ - Name: metricOpts.Name, - Help: metricOpts.Help, - ConstLabels: metricOpts.ConstLabels, - NativeHistogramBucketFactor: histogramOpts.NativeHistogramBucketFactor, - NativeHistogramZeroThreshold: histogramOpts.NativeHistogramZeroThreshold, - NativeHistogramMaxBucketNumber: histogramOpts.NativeHistogramMaxBucketNumber, - NativeHistogramMinResetDuration: histogramOpts.NativeHistogramMinResetDuration, - NativeHistogramMaxZeroThreshold: histogramOpts.NativeHistogramMaxZeroThreshold, - } +func makePrometheusHistogramOpts(metricOpts MetricOpts, histogramOpts prometheus.HistogramOpts) prometheus.HistogramOpts { + histogramOpts.Name = metricOpts.Name + histogramOpts.Help = metricOpts.Help + histogramOpts.ConstLabels = metricOpts.ConstLabels + return histogramOpts } func (c *Histogram) GetOpts() MetricOpts { return c.metricOpts } -func (c *Histogram) GetHistogramOpts() HistogramOpts { +func (c *Histogram) GetHistogramOpts() prometheus.HistogramOpts { return c.histogramOpts } diff --git a/vendor/github.com/machadovilaca/operator-observability/pkg/operatormetrics/histogram_vec.go b/vendor/github.com/machadovilaca/operator-observability/pkg/operatormetrics/histogram_vec.go index 3be34d8c..f272495f 100644 --- a/vendor/github.com/machadovilaca/operator-observability/pkg/operatormetrics/histogram_vec.go +++ b/vendor/github.com/machadovilaca/operator-observability/pkg/operatormetrics/histogram_vec.go @@ -6,14 +6,14 @@ type HistogramVec struct { prometheus.HistogramVec metricOpts MetricOpts - histogramOpts HistogramOpts + histogramOpts prometheus.HistogramOpts } var _ Metric = &HistogramVec{} // NewHistogramVec creates a new HistogramVec. The HistogramVec must be // registered with the Prometheus registry through RegisterMetrics. -func NewHistogramVec(metricOpts MetricOpts, histogramOpts HistogramOpts, labels []string) *HistogramVec { +func NewHistogramVec(metricOpts MetricOpts, histogramOpts prometheus.HistogramOpts, labels []string) *HistogramVec { return &HistogramVec{ HistogramVec: *prometheus.NewHistogramVec(makePrometheusHistogramOpts(metricOpts, histogramOpts), labels), metricOpts: metricOpts, @@ -25,7 +25,7 @@ func (c *HistogramVec) GetOpts() MetricOpts { return c.metricOpts } -func (c *HistogramVec) GetHistogramOpts() HistogramOpts { +func (c *HistogramVec) GetHistogramOpts() prometheus.HistogramOpts { return c.histogramOpts } diff --git a/vendor/github.com/machadovilaca/operator-observability/pkg/operatormetrics/summary.go b/vendor/github.com/machadovilaca/operator-observability/pkg/operatormetrics/summary.go index d022b2e9..3bf9d37c 100644 --- a/vendor/github.com/machadovilaca/operator-observability/pkg/operatormetrics/summary.go +++ b/vendor/github.com/machadovilaca/operator-observability/pkg/operatormetrics/summary.go @@ -1,8 +1,6 @@ package operatormetrics import ( - "time" - "github.com/prometheus/client_golang/prometheus" ) @@ -10,21 +8,14 @@ type Summary struct { prometheus.Summary metricOpts MetricOpts - summaryOpts SummaryOpts + summaryOpts prometheus.SummaryOpts } var _ Metric = &Summary{} -type SummaryOpts struct { - Objectives map[float64]float64 - MaxAge time.Duration - AgeBuckets uint32 - BufCap uint32 -} - // NewSummary creates a new Summary. The Summary must be registered with the // Prometheus registry through RegisterMetrics. -func NewSummary(metricOpts MetricOpts, summaryOpts SummaryOpts) *Summary { +func NewSummary(metricOpts MetricOpts, summaryOpts prometheus.SummaryOpts) *Summary { return &Summary{ Summary: prometheus.NewSummary(makePrometheusSummaryOpts(metricOpts, summaryOpts)), metricOpts: metricOpts, @@ -32,23 +23,18 @@ func NewSummary(metricOpts MetricOpts, summaryOpts SummaryOpts) *Summary { } } -func makePrometheusSummaryOpts(metricOpts MetricOpts, summaryOpts SummaryOpts) prometheus.SummaryOpts { - return prometheus.SummaryOpts{ - Name: metricOpts.Name, - Help: metricOpts.Help, - ConstLabels: metricOpts.ConstLabels, - Objectives: summaryOpts.Objectives, - MaxAge: summaryOpts.MaxAge, - AgeBuckets: summaryOpts.AgeBuckets, - BufCap: summaryOpts.BufCap, - } +func makePrometheusSummaryOpts(metricOpts MetricOpts, summaryOpts prometheus.SummaryOpts) prometheus.SummaryOpts { + summaryOpts.Name = metricOpts.Name + summaryOpts.Help = metricOpts.Help + summaryOpts.ConstLabels = metricOpts.ConstLabels + return summaryOpts } func (c *Summary) GetOpts() MetricOpts { return c.metricOpts } -func (c *Summary) GetSummaryOpts() SummaryOpts { +func (c *Summary) GetSummaryOpts() prometheus.SummaryOpts { return c.summaryOpts } diff --git a/vendor/github.com/machadovilaca/operator-observability/pkg/operatormetrics/summary_vec.go b/vendor/github.com/machadovilaca/operator-observability/pkg/operatormetrics/summary_vec.go index ea1991f9..6ea8bc54 100644 --- a/vendor/github.com/machadovilaca/operator-observability/pkg/operatormetrics/summary_vec.go +++ b/vendor/github.com/machadovilaca/operator-observability/pkg/operatormetrics/summary_vec.go @@ -6,14 +6,14 @@ type SummaryVec struct { prometheus.SummaryVec metricOpts MetricOpts - summaryOpts SummaryOpts + summaryOpts prometheus.SummaryOpts } var _ Metric = &SummaryVec{} // NewSummaryVec creates a new SummaryVec. The SummaryVec must be // registered with the Prometheus registry through RegisterMetrics. -func NewSummaryVec(metricOpts MetricOpts, summaryOpts SummaryOpts, labels []string) *SummaryVec { +func NewSummaryVec(metricOpts MetricOpts, summaryOpts prometheus.SummaryOpts, labels []string) *SummaryVec { return &SummaryVec{ SummaryVec: *prometheus.NewSummaryVec(makePrometheusSummaryOpts(metricOpts, summaryOpts), labels), metricOpts: metricOpts, @@ -25,7 +25,7 @@ func (c *SummaryVec) GetOpts() MetricOpts { return c.metricOpts } -func (c *SummaryVec) GetSummaryOpts() SummaryOpts { +func (c *SummaryVec) GetSummaryOpts() prometheus.SummaryOpts { return c.summaryOpts } diff --git a/vendor/github.com/machadovilaca/operator-observability/pkg/operatormetrics/wrapper_registry.go b/vendor/github.com/machadovilaca/operator-observability/pkg/operatormetrics/wrapper_registry.go index f360c7f9..8bb2b76e 100644 --- a/vendor/github.com/machadovilaca/operator-observability/pkg/operatormetrics/wrapper_registry.go +++ b/vendor/github.com/machadovilaca/operator-observability/pkg/operatormetrics/wrapper_registry.go @@ -1,6 +1,10 @@ package operatormetrics -import "fmt" +import ( + "cmp" + "fmt" + "slices" +) var operatorRegistry = newRegistry() @@ -71,6 +75,10 @@ func ListMetrics() []Metric { result = append(result, rc) } + slices.SortFunc(result, func(a, b Metric) int { + return cmp.Compare(a.GetOpts().Name, b.GetOpts().Name) + }) + return result } diff --git a/vendor/github.com/machadovilaca/operator-observability/pkg/operatorrules/prometheusrules.go b/vendor/github.com/machadovilaca/operator-observability/pkg/operatorrules/prometheusrules.go index 50daee5d..9f54c7b9 100644 --- a/vendor/github.com/machadovilaca/operator-observability/pkg/operatorrules/prometheusrules.go +++ b/vendor/github.com/machadovilaca/operator-observability/pkg/operatorrules/prometheusrules.go @@ -1,7 +1,9 @@ package operatorrules import ( + "cmp" "fmt" + "slices" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -42,7 +44,7 @@ func buildPrometheusRuleSpec() (*promv1.PrometheusRuleSpec, error) { if len(operatorRegistry.registeredAlerts) != 0 { groups = append(groups, promv1.RuleGroup{ Name: "alerts.rules", - Rules: buildAlertsRules(), + Rules: ListAlerts(), }) } @@ -60,16 +62,13 @@ func buildRecordingRulesRules() []promv1.Rule { rules = append(rules, promv1.Rule{ Record: recordingRule.MetricsOpts.Name, Expr: recordingRule.Expr, + Labels: recordingRule.MetricsOpts.ConstLabels, }) } - return rules -} + slices.SortFunc(rules, func(a, b promv1.Rule) int { + return cmp.Compare(a.Record, b.Record) + }) -func buildAlertsRules() []promv1.Rule { - var rules []promv1.Rule - for _, rule := range operatorRegistry.registeredAlerts { - rules = append(rules, rule) - } return rules } diff --git a/vendor/github.com/machadovilaca/operator-observability/pkg/operatorrules/registry.go b/vendor/github.com/machadovilaca/operator-observability/pkg/operatorrules/registry.go index 77c2b62f..cc72af21 100644 --- a/vendor/github.com/machadovilaca/operator-observability/pkg/operatorrules/registry.go +++ b/vendor/github.com/machadovilaca/operator-observability/pkg/operatorrules/registry.go @@ -1,6 +1,9 @@ package operatorrules import ( + "cmp" + "slices" + promv1 "github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1" ) @@ -46,6 +49,11 @@ func ListRecordingRules() []RecordingRule { for _, rule := range operatorRegistry.registeredRecordingRules { rules = append(rules, rule) } + + slices.SortFunc(rules, func(a, b RecordingRule) int { + return cmp.Compare(a.GetOpts().Name, b.GetOpts().Name) + }) + return rules } @@ -55,6 +63,11 @@ func ListAlerts() []promv1.Rule { for _, alert := range operatorRegistry.registeredAlerts { alerts = append(alerts, alert) } + + slices.SortFunc(alerts, func(a, b promv1.Rule) int { + return cmp.Compare(a.Alert, b.Alert) + }) + return alerts } diff --git a/vendor/modules.txt b/vendor/modules.txt index ae64c2d9..02577f30 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -104,8 +104,8 @@ github.com/json-iterator/go # github.com/kubevirt/monitoring/pkg/metrics/parser v0.0.0-20230710120526-cc1644c90b64 ## explicit; go 1.20 github.com/kubevirt/monitoring/pkg/metrics/parser -# github.com/machadovilaca/operator-observability v0.0.12 -## explicit; go 1.20 +# github.com/machadovilaca/operator-observability v0.0.17 +## explicit; go 1.21 github.com/machadovilaca/operator-observability/pkg/docs github.com/machadovilaca/operator-observability/pkg/operatormetrics github.com/machadovilaca/operator-observability/pkg/operatorrules