From 0e59ccc64b716396c38cfabf30b5e9488e756790 Mon Sep 17 00:00:00 2001 From: Denis Galeev Date: Wed, 2 Apr 2025 18:40:18 +0300 Subject: [PATCH] add new metric --- metrics/metrics.go | 16 +++++++++------- metrics/prom.go | 6 ++++++ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/metrics/metrics.go b/metrics/metrics.go index a37bd4df..3c74dfe4 100644 --- a/metrics/metrics.go +++ b/metrics/metrics.go @@ -9,27 +9,29 @@ import ( const ( // Number of services. Labels: host. MetricServicesGauge metrics.MetricName = "gost_services" - // Total service requests. Labels: host, service. + // Total service requests. Labels: host, service, client. MetricServiceRequestsCounter metrics.MetricName = "gost_service_requests_total" - // Number of in-flight requests. Labels: host, service. + // Number of in-flight requests. Labels: host, service, client. MetricServiceRequestsInFlightGauge metrics.MetricName = "gost_service_requests_in_flight" - // Request duration historgram. Labels: host, service. + // Request duration histogram. Labels: host, service. MetricServiceRequestsDurationObserver metrics.MetricName = "gost_service_request_duration_seconds" - // Total service input data transfer size in bytes. Labels: host, service. + // Total service input data transfer size in bytes. Labels: host, service, client. MetricServiceTransferInputBytesCounter metrics.MetricName = "gost_service_transfer_input_bytes_total" - // Total service output data transfer size in bytes. Labels: host, service. + // Total service output data transfer size in bytes. Labels: host, service, client. MetricServiceTransferOutputBytesCounter metrics.MetricName = "gost_service_transfer_output_bytes_total" // Chain node connect duration histogram. Labels: host, chain, node. MetricNodeConnectDurationObserver metrics.MetricName = "gost_chain_node_connect_duration_seconds" - // Total service handler errors. Labels: host, service. + // Total service handler errors. Labels: host, service, client. MetricServiceHandlerErrorsCounter metrics.MetricName = "gost_service_handler_errors_total" // Total chain connect errors. Labels: host, chain, node. MetricChainErrorsCounter metrics.MetricName = "gost_chain_errors_total" + // Total recorder records. Labels: host, recorder. + MetricRecorderRecordsCounter metrics.MetricName = "gost_recorder_records_total" ) var ( defaultMetrics metrics.Metrics = NewMetrics() - enabled atomic.Bool + enabled atomic.Bool ) func Enable(b bool) { diff --git a/metrics/prom.go b/metrics/prom.go index 2210210e..797df6ab 100644 --- a/metrics/prom.go +++ b/metrics/prom.go @@ -63,6 +63,12 @@ func NewMetrics() metrics.Metrics { Help: "Total chain errors", }, []string{"host", "chain", "node"}), + MetricRecorderRecordsCounter: prometheus.NewCounterVec( + prometheus.CounterOpts{ + Name: string(MetricRecorderRecordsCounter), + Help: "Total records written by recorder", + }, + []string{"host", "recorder"}), }, histograms: map[metrics.MetricName]*prometheus.HistogramVec{ MetricServiceRequestsDurationObserver: prometheus.NewHistogramVec(