From c715ad8d8123ca244f8eaa92f7456c9e99101fb4 Mon Sep 17 00:00:00 2001 From: ensiouel <ensiouel@gmail.com> Date: Tue, 19 Dec 2023 16:22:52 +0300 Subject: [PATCH] =?UTF-8?q?docs:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B5=D0=BD=D1=82=D0=B0?= =?UTF-8?q?=D1=80=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/metrics/request.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkg/metrics/request.go b/pkg/metrics/request.go index 01837bf9..95226c1c 100644 --- a/pkg/metrics/request.go +++ b/pkg/metrics/request.go @@ -10,7 +10,19 @@ type RequestMetrics struct { DurationSeconds *prometheus.HistogramVec } +// NewRequestMetrics возвращает метрики для подсчета количества удачных/неудачных запросов, а так же длительности ответов. +// +// subsystem указывает подсистему, к которой принадлежат метрики. +// Значение должно быть уникальным, совпадение разрешено только при совпадении ключей labels. Пустое значение допустимо. +// +// labels - список меток, где каждый элемент метки соответствует парам ключ-значение. Отсутствие допустимо. +// Значения меток должны быть уникальными в рамках одной subsystem. +// +// Метрики записываются в prometheus.DefaultRegisterer func NewRequestMetrics(subsystem string, durationBuckets []float64, labels ...string) *RequestMetrics { + if len(durationBuckets) == 0 { + durationBuckets = prometheus.DefBuckets + } metrics := &RequestMetrics{ Total: prometheus.NewCounterVec(prometheus.CounterOpts{ Subsystem: subsystem, -- GitLab