From 199e86050edea6f240f34169f2617d4bf7fa91dd Mon Sep 17 00:00:00 2001 From: Kevin Wan Date: Thu, 26 Oct 2023 20:32:13 +0800 Subject: [PATCH] chore: simplify prometheus check (#3672) --- core/metric/counter.go | 21 ++++++-------- core/metric/gauge.go | 60 +++++++++++++++++----------------------- core/metric/histogram.go | 9 ++---- core/metric/metric.go | 10 +++++++ core/metric/summary.go | 9 ++---- 5 files changed, 49 insertions(+), 60 deletions(-) diff --git a/core/metric/counter.go b/core/metric/counter.go index c95412f7..df6e6916 100644 --- a/core/metric/counter.go +++ b/core/metric/counter.go @@ -3,7 +3,6 @@ package metric import ( prom "github.com/prometheus/client_golang/prometheus" "github.com/zeromicro/go-zero/core/proc" - "github.com/zeromicro/go-zero/core/prometheus" ) type ( @@ -47,20 +46,16 @@ func NewCounterVec(cfg *CounterVecOpts) CounterVec { return cv } -func (cv *promCounterVec) Inc(labels ...string) { - if !prometheus.Enabled() { - return - } - - cv.counter.WithLabelValues(labels...).Inc() -} - func (cv *promCounterVec) Add(v float64, labels ...string) { - if !prometheus.Enabled() { - return - } + update(func() { + cv.counter.WithLabelValues(labels...).Add(v) + }) +} - cv.counter.WithLabelValues(labels...).Add(v) +func (cv *promCounterVec) Inc(labels ...string) { + update(func() { + cv.counter.WithLabelValues(labels...).Inc() + }) } func (cv *promCounterVec) close() bool { diff --git a/core/metric/gauge.go b/core/metric/gauge.go index 4dfd7243..39555d00 100644 --- a/core/metric/gauge.go +++ b/core/metric/gauge.go @@ -3,7 +3,6 @@ package metric import ( prom "github.com/prometheus/client_golang/prometheus" "github.com/zeromicro/go-zero/core/proc" - "github.com/zeromicro/go-zero/core/prometheus" ) type ( @@ -36,13 +35,12 @@ func NewGaugeVec(cfg *GaugeVecOpts) GaugeVec { return nil } - vec := prom.NewGaugeVec( - prom.GaugeOpts{ - Namespace: cfg.Namespace, - Subsystem: cfg.Subsystem, - Name: cfg.Name, - Help: cfg.Help, - }, cfg.Labels) + vec := prom.NewGaugeVec(prom.GaugeOpts{ + Namespace: cfg.Namespace, + Subsystem: cfg.Subsystem, + Name: cfg.Name, + Help: cfg.Help, + }, cfg.Labels) prom.MustRegister(vec) gv := &promGaugeVec{ gauge: vec, @@ -54,42 +52,34 @@ func NewGaugeVec(cfg *GaugeVecOpts) GaugeVec { return gv } -func (gv *promGaugeVec) Set(v float64, labels ...string) { - if !prometheus.Enabled() { - return - } - - gv.gauge.WithLabelValues(labels...).Set(v) -} - -func (gv *promGaugeVec) Inc(labels ...string) { - if !prometheus.Enabled() { - return - } - - gv.gauge.WithLabelValues(labels...).Inc() +func (gv *promGaugeVec) Add(v float64, labels ...string) { + update(func() { + gv.gauge.WithLabelValues(labels...).Add(v) + }) } func (gv *promGaugeVec) Dec(labels ...string) { - if !prometheus.Enabled() { - return - } - gv.gauge.WithLabelValues(labels...).Dec() + update(func() { + gv.gauge.WithLabelValues(labels...).Dec() + }) } -func (gv *promGaugeVec) Add(v float64, labels ...string) { - if !prometheus.Enabled() { - return - } +func (gv *promGaugeVec) Inc(labels ...string) { + update(func() { + gv.gauge.WithLabelValues(labels...).Inc() + }) +} - gv.gauge.WithLabelValues(labels...).Add(v) +func (gv *promGaugeVec) Set(v float64, labels ...string) { + update(func() { + gv.gauge.WithLabelValues(labels...).Set(v) + }) } func (gv *promGaugeVec) Sub(v float64, labels ...string) { - if !prometheus.Enabled() { - return - } - gv.gauge.WithLabelValues(labels...).Sub(v) + update(func() { + gv.gauge.WithLabelValues(labels...).Sub(v) + }) } func (gv *promGaugeVec) close() bool { diff --git a/core/metric/histogram.go b/core/metric/histogram.go index 4f0a1058..03d8903c 100644 --- a/core/metric/histogram.go +++ b/core/metric/histogram.go @@ -3,7 +3,6 @@ package metric import ( prom "github.com/prometheus/client_golang/prometheus" "github.com/zeromicro/go-zero/core/proc" - "github.com/zeromicro/go-zero/core/prometheus" ) type ( @@ -54,11 +53,9 @@ func NewHistogramVec(cfg *HistogramVecOpts) HistogramVec { } func (hv *promHistogramVec) Observe(v int64, labels ...string) { - if !prometheus.Enabled() { - return - } - - hv.histogram.WithLabelValues(labels...).Observe(float64(v)) + update(func() { + hv.histogram.WithLabelValues(labels...).Observe(float64(v)) + }) } func (hv *promHistogramVec) close() bool { diff --git a/core/metric/metric.go b/core/metric/metric.go index f36e0f67..27ea7ddd 100644 --- a/core/metric/metric.go +++ b/core/metric/metric.go @@ -1,5 +1,7 @@ package metric +import "github.com/zeromicro/go-zero/core/prometheus" + // A VectorOpts is a general configuration. type VectorOpts struct { Namespace string @@ -8,3 +10,11 @@ type VectorOpts struct { Help string Labels []string } + +func update(fn func()) { + if !prometheus.Enabled() { + return + } + + fn() +} diff --git a/core/metric/summary.go b/core/metric/summary.go index ecab0cbe..e39cbb95 100644 --- a/core/metric/summary.go +++ b/core/metric/summary.go @@ -3,7 +3,6 @@ package metric import ( prom "github.com/prometheus/client_golang/prometheus" "github.com/zeromicro/go-zero/core/proc" - "github.com/zeromicro/go-zero/core/prometheus" ) type ( @@ -53,11 +52,9 @@ func NewSummaryVec(cfg *SummaryVecOpts) SummaryVec { } func (sv *promSummaryVec) Observe(v float64, labels ...string) { - if !prometheus.Enabled() { - return - } - - sv.summary.WithLabelValues(labels...).Observe(v) + update(func() { + sv.summary.WithLabelValues(labels...).Observe(v) + }) } func (sv *promSummaryVec) close() bool {