From eec376dacf92cba40a94e925a40298916ff2a92a Mon Sep 17 00:00:00 2001
From: ensiouel <ensiouel@gmail.com>
Date: Fri, 22 Dec 2023 14:25:57 +0300
Subject: [PATCH] fix

---
 pkg/metrics/cache.go   |  2 +-
 pkg/metrics/request.go | 27 ++++++++++++---------------
 2 files changed, 13 insertions(+), 16 deletions(-)

diff --git a/pkg/metrics/cache.go b/pkg/metrics/cache.go
index b7e92382..3c5ba67d 100644
--- a/pkg/metrics/cache.go
+++ b/pkg/metrics/cache.go
@@ -14,7 +14,7 @@ type CacheMetrics struct {
 func NewCacheMetrics(scope string) (*CacheMetrics, error) {
 	var (
 		meter        = otel.Meter(scope)
-		cacheMetrics *CacheMetrics
+		cacheMetrics = new(CacheMetrics)
 		err          error
 	)
 
diff --git a/pkg/metrics/request.go b/pkg/metrics/request.go
index 1128a203..5a8093b4 100644
--- a/pkg/metrics/request.go
+++ b/pkg/metrics/request.go
@@ -15,33 +15,30 @@ type RequestMetrics struct {
 //
 // Для RequestMetrics.DurationMilliseconds значения buckets по умолчанию равно []float64{0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000}
 func NewRequestMetrics(scope string) (*RequestMetrics, error) {
-	meter := otel.Meter(scope)
+	var (
+		meter          = otel.Meter(scope)
+		requestMetrics = new(RequestMetrics)
+		err            error
+	)
 
-	total, err := meter.Int64Counter("requests",
+	if requestMetrics.Total, err = meter.Int64Counter("requests",
 		otelmetric.WithDescription("Количество запросов"),
-	)
-	if err != nil {
+	); err != nil {
 		return nil, err
 	}
 
-	failedTotal, err := meter.Int64Counter("requests_failed",
+	if requestMetrics.FailedTotal, err = meter.Int64Counter("requests_failed",
 		otelmetric.WithDescription("Количество запросов, вернувших ошибку"),
-	)
-	if err != nil {
+	); err != nil {
 		return nil, err
 	}
 
-	durationMilliseconds, err := meter.Int64Histogram("request_duration",
+	if requestMetrics.DurationMilliseconds, err = meter.Int64Histogram("request_duration",
 		otelmetric.WithDescription("Длительность обработки запроса"),
 		otelmetric.WithUnit("ms"),
-	)
-	if err != nil {
+	); err != nil {
 		return nil, err
 	}
 
-	return &RequestMetrics{
-		Total:                total,
-		FailedTotal:          failedTotal,
-		DurationMilliseconds: durationMilliseconds,
-	}, nil
+	return requestMetrics, nil
 }
-- 
GitLab