From 6e34c3bbf1516f3ed8679cad91fe8727f2275d24 Mon Sep 17 00:00:00 2001 From: ensiouel <ensiouel@gmail.com> Date: Mon, 18 Dec 2023 14:52:09 +0300 Subject: [PATCH] =?UTF-8?q?refactor:=20=D1=83=D0=B1=D1=80=D0=B0=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=BE=D0=B1=D0=B5=D1=80=D1=82=D0=BA=D0=B0=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D1=81=D0=B1=D0=BE=D1=80=D0=B0=20=D0=BC=D0=B5?= =?UTF-8?q?=D1=82=D1=80=D0=B8=D0=BA=20=D0=BA=D1=8D=D1=88=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/cache/metrics_cache.go | 54 -------------------------------------- 1 file changed, 54 deletions(-) delete mode 100644 pkg/cache/metrics_cache.go diff --git a/pkg/cache/metrics_cache.go b/pkg/cache/metrics_cache.go deleted file mode 100644 index 0c5472dc..00000000 --- a/pkg/cache/metrics_cache.go +++ /dev/null @@ -1,54 +0,0 @@ -package cache - -import ( - "github.com/prometheus/client_golang/prometheus" - "github.com/prometheus/client_golang/prometheus/promauto" -) - -var ( - cacheHitsTotal = promauto.With(prometheus.DefaultRegisterer).NewCounterVec(prometheus.CounterOpts{ - Name: "cache_hits_total", - Help: "Количество попаданий в кэш.", - }, []string{"cache_id"}) - cacheMissesTotal = promauto.With(prometheus.DefaultRegisterer).NewCounterVec(prometheus.CounterOpts{ - Name: "cache_misses_total", - Help: "Количество пропусков в кэш.", - }, []string{"cache_id"}) -) - -type metricsCache struct { - cache Cache - cacheID string -} - -// WithMetrics возвращает обертку над кэшем, которая используется для отслеживания количества хитов и промахов в кэше. -// Помимо этого, в функцию WithMetrics передается параметр cacheID, который используется в метке метрик для идентификации конкретного кэша. -// -// Метрики записываются в prometheus.DefaultRegisterer -func WithMetrics(cache Cache, cacheID string) Cache { - if cache == nil { - panic("cannot wrap metrics in cache, cache is nil") - } - return &metricsCache{ - cacheID: cacheID, - cache: cache, - } -} - -func (c *metricsCache) Set(key, value any) error { - return c.cache.Set(key, value) -} - -func (c *metricsCache) Get(key any) (any, error) { - value, err := c.cache.Get(key) - if err != nil { - cacheMissesTotal.WithLabelValues(c.cacheID).Inc() - return nil, err - } - cacheHitsTotal.WithLabelValues(c.cacheID).Inc() - return value, nil -} - -func (c *metricsCache) Remove(key any) error { - return c.cache.Remove(key) -} -- GitLab