From c4379d8e52561262798e95cf6f9d6363b6cdd94d Mon Sep 17 00:00:00 2001 From: Aleksandr Soloshenko Date: Tue, 5 May 2026 14:22:01 +0700 Subject: [PATCH] [lint] fix goconst issues --- internal/sms-gateway/jwt/metrics.go | 38 +++++++++---------- .../sms-gateway/modules/events/metrics.go | 18 ++++----- internal/sms-gateway/modules/push/metrics.go | 22 +++++------ internal/sms-gateway/modules/sse/metrics.go | 25 ++++++------ internal/sms-gateway/online/metrics.go | 29 +++++++------- internal/worker/executor/metrics.go | 18 ++++----- 6 files changed, 76 insertions(+), 74 deletions(-) diff --git a/internal/sms-gateway/jwt/metrics.go b/internal/sms-gateway/jwt/metrics.go index b0f0a1fc..c5e6ddf2 100644 --- a/internal/sms-gateway/jwt/metrics.go +++ b/internal/sms-gateway/jwt/metrics.go @@ -7,6 +7,9 @@ import ( // Metric constants. const ( + metricsNamespace = "sms" + metricsSubsystem = "auth" + MetricTokensIssuedTotal = "jwt_tokens_issued_total" //nolint:gosec // false positive MetricTokensValidatedTotal = "jwt_tokens_validated_total" //nolint:gosec // false positive MetricTokensRevokedTotal = "jwt_tokens_revoked_total" //nolint:gosec // false positive @@ -37,67 +40,64 @@ type Metrics struct { // NewMetrics creates and initializes all JWT metrics. func NewMetrics() *Metrics { - const namespace = "sms" - const subsystem = "auth" - var defBuckets = []float64{.0005, .001, .0025, .005, .01, .025, .05, .1, .25, .5, 1} return &Metrics{ tokensIssuedCounter: promauto.NewCounterVec(prometheus.CounterOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: MetricTokensIssuedTotal, Help: "Total number of JWT tokens issued", }, []string{labelStatus}), tokensValidatedCounter: promauto.NewCounterVec(prometheus.CounterOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: MetricTokensValidatedTotal, Help: "Total number of JWT tokens validated", }, []string{labelStatus}), tokensRevokedCounter: promauto.NewCounterVec(prometheus.CounterOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: MetricTokensRevokedTotal, Help: "Total number of JWT tokens revoked", }, []string{labelStatus}), tokensRefreshedCounter: promauto.NewCounterVec(prometheus.CounterOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: MetricTokensRefreshedTotal, Help: "Total number of JWT tokens refreshed", }, []string{labelStatus}), issuanceDurationHistogram: promauto.NewHistogram(prometheus.HistogramOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: MetricIssuanceDurationSeconds, Help: "JWT issuance duration in seconds", Buckets: defBuckets, }), validationDurationHistogram: promauto.NewHistogram(prometheus.HistogramOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: MetricValidationDurationSeconds, Help: "JWT validation duration in seconds", Buckets: defBuckets, }), revocationDurationHistogram: promauto.NewHistogram(prometheus.HistogramOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: MetricRevocationDurationSeconds, Help: "JWT revocation duration in seconds", Buckets: defBuckets, }), refreshDurationHistogram: promauto.NewHistogram(prometheus.HistogramOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: MetricRefreshDurationSeconds, Help: "JWT refresh duration in seconds", Buckets: defBuckets, diff --git a/internal/sms-gateway/modules/events/metrics.go b/internal/sms-gateway/modules/events/metrics.go index 9b6bc423..84e64e17 100644 --- a/internal/sms-gateway/modules/events/metrics.go +++ b/internal/sms-gateway/modules/events/metrics.go @@ -7,6 +7,9 @@ import ( // Metric constants. const ( + metricsNamespace = "sms" + metricsSubsystem = "events" + MetricEnqueuedTotal = "enqueued_total" MetricSentTotal = "sent_total" MetricFailedTotal = "failed_total" @@ -35,25 +38,22 @@ type metrics struct { // newMetrics creates and initializes all events metrics. func newMetrics() *metrics { - const namespace = "sms" - const subsystem = "events" - return &metrics{ enqueuedCounter: promauto.NewCounterVec(prometheus.CounterOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: MetricEnqueuedTotal, Help: "Total number of events enqueued", }, []string{LabelEvent}), sentCounter: promauto.NewCounterVec(prometheus.CounterOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: MetricSentTotal, Help: "Total number of events sent", }, []string{LabelEvent, LabelDeliveryType}), failedCounter: promauto.NewCounterVec(prometheus.CounterOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: MetricFailedTotal, Help: "Total number of failed notifications", }, []string{LabelEvent, LabelDeliveryType, LabelReason}), diff --git a/internal/sms-gateway/modules/push/metrics.go b/internal/sms-gateway/modules/push/metrics.go index 6bcfac19..53638b8f 100644 --- a/internal/sms-gateway/modules/push/metrics.go +++ b/internal/sms-gateway/modules/push/metrics.go @@ -8,6 +8,9 @@ import ( type BlacklistOperation string const ( + metricsNamespace = "sms" + metricsSubsystem = "push" + BlacklistOperationAdded BlacklistOperation = "added" BlacklistOperationSkipped BlacklistOperation = "skipped" ) @@ -20,34 +23,31 @@ type metrics struct { } func newMetrics() *metrics { - const namespace = "sms" - const subsystem = "push" - return &metrics{ enqueuedCounter: promauto.NewCounterVec(prometheus.CounterOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: "enqueued_total", Help: "Total number of messages enqueued", }, []string{"event"}), retriesCounter: promauto.NewCounter(prometheus.CounterOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: "retries_total", Help: "Total retry attempts", }), blacklistCounter: promauto.NewCounterVec(prometheus.CounterOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: "blacklist_total", Help: "Blacklist operations", }, []string{"operation"}), errorsCounter: promauto.NewCounterVec(prometheus.CounterOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: "errors_total", Help: "Total number of errors", }, []string{}), diff --git a/internal/sms-gateway/modules/sse/metrics.go b/internal/sms-gateway/modules/sse/metrics.go index 5c845e23..5042a143 100644 --- a/internal/sms-gateway/modules/sse/metrics.go +++ b/internal/sms-gateway/modules/sse/metrics.go @@ -7,6 +7,9 @@ import ( // Metric constants. const ( + metricsNamespace = "sms" + metricsSubsystem = "sse" + MetricActiveConnections = "active_connections" MetricEventsSent = "events_sent_total" MetricConnectionErrors = "connection_errors_total" @@ -33,39 +36,37 @@ type metrics struct { // newMetrics creates and initializes all SSE metrics. func newMetrics() *metrics { - const namespace = "sms" - const subsystem = "sse" var defBuckets = []float64{1e-6, 5e-6, 1e-5, 5e-5, 1e-4, 5e-4, .001, .005, .01, .05, .1} metrics := &metrics{ activeConnections: promauto.NewGaugeVec(prometheus.GaugeOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: MetricActiveConnections, Help: "Current number of active SSE connections", }, []string{}), eventsSent: promauto.NewCounterVec(prometheus.CounterOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: MetricEventsSent, Help: "Total number of SSE events sent, labeled by event type", }, []string{LabelEventType}), connectionErrors: promauto.NewCounterVec(prometheus.CounterOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: MetricConnectionErrors, Help: "Total number of SSE connection errors, labeled by error type", }, []string{LabelErrorType}), eventDeliveryLatency: promauto.NewHistogramVec(prometheus.HistogramOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: MetricEventLatency, Help: "Event delivery latency in seconds", Buckets: defBuckets, }, []string{}), keepalivesSent: promauto.NewCounterVec(prometheus.CounterOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: MetricKeepalivesSent, Help: "Total keepalive messages sent", }, []string{}), diff --git a/internal/sms-gateway/online/metrics.go b/internal/sms-gateway/online/metrics.go index 007e608b..19f50147 100644 --- a/internal/sms-gateway/online/metrics.go +++ b/internal/sms-gateway/online/metrics.go @@ -7,6 +7,9 @@ import ( // Metric constants. const ( + metricsNamespace = "sms" + metricsSubsystem = "online" + metricStatusSetTotal = "status_set_total" metricCacheOperations = "cache_operations_total" metricCacheLatency = "cache_latency_seconds" @@ -36,52 +39,50 @@ type metrics struct { // newMetrics creates and initializes all online metrics. func newMetrics() *metrics { - const namespace = "sms" - const subsystem = "online" var memBuckets = []float64{1e-6, 5e-6, 1e-5, 5e-5, 1e-4, 5e-4, .001, .005, .01, .05, .1} var dbBuckets = []float64{.005, .01, .025, .05, .1, .25, .5, 1, 2.5, 5, 10} return &metrics{ statusSetCounter: promauto.NewCounterVec(prometheus.CounterOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: metricStatusSetTotal, Help: "Total number of online status updates", }, []string{labelStatus}), cacheOperations: promauto.NewCounterVec(prometheus.CounterOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: metricCacheOperations, Help: "Total cache operations by type", }, []string{labelOperation, labelStatus}), cacheLatency: promauto.NewHistogram(prometheus.HistogramOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: metricCacheLatency, Help: "Cache operation latency in seconds", Buckets: memBuckets, }), persistenceLatency: promauto.NewHistogram(prometheus.HistogramOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: metricPersistenceLatency, Help: "Persistence operation latency in seconds", Buckets: dbBuckets, }), persistenceErrors: promauto.NewCounter(prometheus.CounterOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: metricPersistenceErrors, Help: "Total persistence errors by type", }), batchSize: promauto.NewGauge(prometheus.GaugeOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: metricBatchSize, Help: "Current batch size", }), diff --git a/internal/worker/executor/metrics.go b/internal/worker/executor/metrics.go index 216e5c4d..8d46881a 100644 --- a/internal/worker/executor/metrics.go +++ b/internal/worker/executor/metrics.go @@ -10,6 +10,9 @@ import ( type metricsTaskResult string const ( + metricsNamespace = "worker" + metricsSubsystem = "executor" + metricsTaskResultSuccess metricsTaskResult = "success" metricsTaskResultError metricsTaskResult = "error" ) @@ -21,27 +24,24 @@ type metrics struct { } func newMetrics() *metrics { - const namespace = "worker" - const subsystem = "executor" - var defBuckets = []float64{.01, .025, .05, .1, .25, .5, 1, 2.5, 5, 10, 25} return &metrics{ activeTasksCounter: promauto.NewGauge(prometheus.GaugeOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: "active_tasks", Help: "Number of active tasks", }), taskResult: promauto.NewCounterVec(prometheus.CounterOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: "task_result_total", Help: "Task result, labeled by task name and result", }, []string{"task", "result"}), taskDuration: promauto.NewHistogramVec(prometheus.HistogramOpts{ - Namespace: namespace, - Subsystem: subsystem, + Namespace: metricsNamespace, + Subsystem: metricsSubsystem, Name: "task_duration_seconds", Help: "Task duration in seconds", Buckets: defBuckets,