diff options
author | James Fargher <proglottis@gmail.com> | 2021-04-21 23:07:29 +0300 |
---|---|---|
committer | James Fargher <proglottis@gmail.com> | 2021-04-21 23:07:29 +0300 |
commit | d0d2f4a763c2be059e4e2353f2e5affaff83305d (patch) | |
tree | e140f7333fe6e14b87fac631e12bf349739195d1 | |
parent | c99e7e9346822609fe2feae4ba2a1e206b846dd3 (diff) | |
parent | 811f4e966ae097b50e53c6444ea0aafeb4215999 (diff) |
Merge branch 'tc-use-promauto' into 'master'
Use promauto to register Prometheus metrics
Closes #1777
See merge request gitlab-org/gitaly!3388
-rw-r--r-- | auth/token.go | 7 | ||||
-rw-r--r-- | internal/cache/prometheus.go | 37 | ||||
-rw-r--r-- | internal/command/metrics.go | 11 | ||||
-rw-r--r-- | internal/command/spawntoken.go | 4 | ||||
-rw-r--r-- | internal/connectioncounter/connectioncounter.go | 7 | ||||
-rw-r--r-- | internal/git/bitmap.go | 5 | ||||
-rw-r--r-- | internal/git/catfile/batch_cache.go | 5 | ||||
-rw-r--r-- | internal/git/protocol.go | 7 | ||||
-rw-r--r-- | internal/gitaly/rubyserver/worker.go | 7 | ||||
-rw-r--r-- | internal/gitaly/server/auth/auth.go | 7 | ||||
-rw-r--r-- | internal/gitaly/service/commit/list_commits_by_oid.go | 7 | ||||
-rw-r--r-- | internal/gitaly/service/smarthttp/cache.go | 10 | ||||
-rw-r--r-- | internal/metadata/featureflag/grpc_header.go | 7 | ||||
-rw-r--r-- | internal/middleware/cache/prometheus.go | 13 | ||||
-rw-r--r-- | internal/middleware/limithandler/metrics.go | 13 | ||||
-rw-r--r-- | internal/middleware/metadatahandler/metadatahandler.go | 7 | ||||
-rw-r--r-- | internal/praefect/metrics/prometheus.go | 21 | ||||
-rw-r--r-- | internal/supervisor/monitor.go | 10 | ||||
-rw-r--r-- | internal/supervisor/supervisor.go | 4 |
19 files changed, 61 insertions, 128 deletions
diff --git a/auth/token.go b/auth/token.go index 566557f9c..034be2a86 100644 --- a/auth/token.go +++ b/auth/token.go @@ -12,6 +12,7 @@ import ( grpc_auth "github.com/grpc-ecosystem/go-grpc-middleware/auth" "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) @@ -27,7 +28,7 @@ var ( errUnauthenticated = status.Errorf(codes.Unauthenticated, "authentication required") errDenied = status.Errorf(codes.PermissionDenied, "permission denied") - authErrors = prometheus.NewCounterVec( + authErrors = promauto.NewCounterVec( prometheus.CounterOpts{ Name: "gitaly_authentication_errors_total", Help: "Counts of of Gitaly request authentication errors", @@ -48,10 +49,6 @@ func SetTokenValidityDuration(d time.Duration) { tokenValidityDuration = d } -func init() { - prometheus.MustRegister(authErrors) -} - // AuthInfo contains the authentication information coming from a request type AuthInfo struct { Version string diff --git a/internal/cache/prometheus.go b/internal/cache/prometheus.go index ee3a7b0a1..f277b40b2 100644 --- a/internal/cache/prometheus.go +++ b/internal/cache/prometheus.go @@ -2,71 +2,72 @@ package cache import ( "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" ) var ( - requestTotals = prometheus.NewCounter( + requestTotals = promauto.NewCounter( prometheus.CounterOpts{ Name: "gitaly_diskcache_requests_total", Help: "Total number of disk cache requests", }, ) - missTotals = prometheus.NewCounter( + missTotals = promauto.NewCounter( prometheus.CounterOpts{ Name: "gitaly_diskcache_miss_total", Help: "Total number of disk cache misses", }, ) - bytesStoredtotals = prometheus.NewCounter( + bytesStoredtotals = promauto.NewCounter( prometheus.CounterOpts{ Name: "gitaly_diskcache_bytes_stored_total", Help: "Total number of disk cache bytes stored", }, ) - bytesFetchedtotals = prometheus.NewCounter( + bytesFetchedtotals = promauto.NewCounter( prometheus.CounterOpts{ Name: "gitaly_diskcache_bytes_fetched_total", Help: "Total number of disk cache bytes fetched", }, ) - bytesLoserTotals = prometheus.NewCounter( + bytesLoserTotals = promauto.NewCounter( prometheus.CounterOpts{ Name: "gitaly_diskcache_bytes_loser_total", Help: "Total number of disk cache bytes from losing writes", }, ) - errTotal = prometheus.NewCounterVec( + errTotal = promauto.NewCounterVec( prometheus.CounterOpts{ Name: "gitaly_diskcache_errors_total", Help: "Total number of errors encountered by disk cache", }, []string{"error"}, ) - walkerCheckTotal = prometheus.NewCounter( + walkerCheckTotal = promauto.NewCounter( prometheus.CounterOpts{ Name: "gitaly_diskcache_walker_check_total", Help: "Total number of events during diskcache filesystem walks", }, ) - walkerRemovalTotal = prometheus.NewCounter( + walkerRemovalTotal = promauto.NewCounter( prometheus.CounterOpts{ Name: "gitaly_diskcache_walker_removal_total", Help: "Total number of events during diskcache filesystem walks", }, ) - walkerErrorTotal = prometheus.NewCounter( + walkerErrorTotal = promauto.NewCounter( prometheus.CounterOpts{ Name: "gitaly_diskcache_walker_error_total", Help: "Total number of errors during diskcache filesystem walks", }, ) - walkerEmptyDirTotal = prometheus.NewCounter( + walkerEmptyDirTotal = promauto.NewCounter( prometheus.CounterOpts{ Name: "gitaly_diskcache_walker_empty_dir_total", Help: "Total number of empty directories encountered", }, ) - walkerEmptyDirRemovalTotal = prometheus.NewCounter( + walkerEmptyDirRemovalTotal = promauto.NewCounter( prometheus.CounterOpts{ Name: "gitaly_diskcache_walker_empty_dir_removal_total", Help: "Total number of empty directories removed", @@ -74,20 +75,6 @@ var ( ) ) -func init() { - prometheus.MustRegister(requestTotals) - prometheus.MustRegister(missTotals) - prometheus.MustRegister(bytesStoredtotals) - prometheus.MustRegister(bytesFetchedtotals) - prometheus.MustRegister(bytesLoserTotals) - prometheus.MustRegister(errTotal) - prometheus.MustRegister(walkerCheckTotal) - prometheus.MustRegister(walkerRemovalTotal) - prometheus.MustRegister(walkerErrorTotal) - prometheus.MustRegister(walkerEmptyDirTotal) - prometheus.MustRegister(walkerEmptyDirRemovalTotal) -} - func countErr(err error) error { switch err { case ErrMissingLeaseFile: diff --git a/internal/command/metrics.go b/internal/command/metrics.go index a089b8cd8..e73d1fab0 100644 --- a/internal/command/metrics.go +++ b/internal/command/metrics.go @@ -1,14 +1,13 @@ package command -import "github.com/prometheus/client_golang/prometheus" +import ( + "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" +) -var inFlightCommandGauge = prometheus.NewGauge( +var inFlightCommandGauge = promauto.NewGauge( prometheus.GaugeOpts{ Name: "gitaly_commands_running", Help: "Total number of processes currently being executed", }, ) - -func init() { - prometheus.MustRegister(inFlightCommandGauge) -} diff --git a/internal/command/spawntoken.go b/internal/command/spawntoken.go index 623d686d8..95874d88c 100644 --- a/internal/command/spawntoken.go +++ b/internal/command/spawntoken.go @@ -8,6 +8,7 @@ import ( "github.com/grpc-ecosystem/go-grpc-middleware/logging/logrus/ctxlogrus" "github.com/kelseyhightower/envconfig" "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" ) const logDurationThreshold = 5 * time.Millisecond @@ -16,7 +17,7 @@ var ( spawnTokens chan struct{} spawnConfig SpawnConfig - spawnTimeoutCount = prometheus.NewCounter( + spawnTimeoutCount = promauto.NewCounter( prometheus.CounterOpts{ Name: "gitaly_spawn_timeouts_total", Help: "Number of process spawn timeouts", @@ -46,7 +47,6 @@ type SpawnConfig struct { func init() { envconfig.MustProcess("gitaly_command_spawn", &spawnConfig) spawnTokens = make(chan struct{}, spawnConfig.MaxParallel) - prometheus.MustRegister(spawnTimeoutCount) } func getSpawnToken(ctx context.Context) (putToken func(), err error) { diff --git a/internal/connectioncounter/connectioncounter.go b/internal/connectioncounter/connectioncounter.go index 0fbf3210b..1b4bd0b58 100644 --- a/internal/connectioncounter/connectioncounter.go +++ b/internal/connectioncounter/connectioncounter.go @@ -4,10 +4,11 @@ import ( "net" "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" ) var ( - connTotal = prometheus.NewCounterVec( + connTotal = promauto.NewCounterVec( prometheus.CounterOpts{ Name: "gitaly_connections_total", Help: "Total number of connections accepted by this Gitaly process", @@ -16,10 +17,6 @@ var ( ) ) -func init() { - prometheus.MustRegister(connTotal) -} - // New returns a listener which increments a prometheus counter on each // accepted connection. Use cType to specify the connection type, this is // a prometheus label. diff --git a/internal/git/bitmap.go b/internal/git/bitmap.go index 0ff93b619..58fa2e64e 100644 --- a/internal/git/bitmap.go +++ b/internal/git/bitmap.go @@ -9,11 +9,12 @@ import ( "github.com/grpc-ecosystem/go-grpc-middleware/logging/logrus/ctxlogrus" grpc_ctxtags "github.com/grpc-ecosystem/go-grpc-middleware/tags" "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" "gitlab.com/gitlab-org/gitaly/internal/git/packfile" "gitlab.com/gitlab-org/gitaly/internal/storage" ) -var badBitmapRequestCount = prometheus.NewCounterVec( +var badBitmapRequestCount = promauto.NewCounterVec( prometheus.CounterOpts{ Name: "gitaly_bad_bitmap_request_total", Help: "RPC calls during which there was not exactly 1 packfile bitmap", @@ -21,8 +22,6 @@ var badBitmapRequestCount = prometheus.NewCounterVec( []string{"method", "bitmaps"}, ) -func init() { prometheus.MustRegister(badBitmapRequestCount) } - // WarnIfTooManyBitmaps checks for too many (more than one) bitmaps in // repoPath, and if it finds any, it logs a warning. This is to help us // investigate https://gitlab.com/gitlab-org/gitaly/issues/1728. diff --git a/internal/git/catfile/batch_cache.go b/internal/git/catfile/batch_cache.go index e68a478bd..4e92954d5 100644 --- a/internal/git/catfile/batch_cache.go +++ b/internal/git/catfile/batch_cache.go @@ -6,6 +6,7 @@ import ( "time" "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" "gitlab.com/gitlab-org/gitaly/internal/git/repository" "gitlab.com/gitlab-org/gitaly/internal/gitaly/config" ) @@ -20,7 +21,7 @@ const ( defaultMaxLen = 100 ) -var catfileCacheMembers = prometheus.NewGauge( +var catfileCacheMembers = promauto.NewGauge( prometheus.GaugeOpts{ Name: "gitaly_catfile_cache_members", Help: "Gauge of catfile cache members", @@ -30,8 +31,6 @@ var catfileCacheMembers = prometheus.NewGauge( var cache *batchCache func init() { - prometheus.MustRegister(catfileCacheMembers) - config.RegisterHook(func(cfg *config.Cfg) error { cache = newCache(DefaultBatchfileTTL, cfg.Git.CatfileCacheSize) return nil diff --git a/internal/git/protocol.go b/internal/git/protocol.go index a562db783..d62163aca 100644 --- a/internal/git/protocol.go +++ b/internal/git/protocol.go @@ -7,6 +7,7 @@ import ( grpc_ctxtags "github.com/grpc-ecosystem/go-grpc-middleware/tags" "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" "gitlab.com/gitlab-org/gitaly/internal/log" ) @@ -16,7 +17,7 @@ const ( ) var ( - gitProtocolRequests = prometheus.NewCounterVec( + gitProtocolRequests = promauto.NewCounterVec( prometheus.CounterOpts{ Name: "gitaly_git_protocol_requests_total", Help: "Counter of Git protocol requests", @@ -25,10 +26,6 @@ var ( ) ) -func init() { - prometheus.MustRegister(gitProtocolRequests) -} - // RequestWithGitProtocol holds requests that respond to GitProtocol type RequestWithGitProtocol interface { GetGitProtocol() string diff --git a/internal/gitaly/rubyserver/worker.go b/internal/gitaly/rubyserver/worker.go index c5ce991ba..43d2ee65b 100644 --- a/internal/gitaly/rubyserver/worker.go +++ b/internal/gitaly/rubyserver/worker.go @@ -6,13 +6,14 @@ import ( "time" "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" log "github.com/sirupsen/logrus" "gitlab.com/gitlab-org/gitaly/internal/gitaly/rubyserver/balancer" "gitlab.com/gitlab-org/gitaly/internal/supervisor" ) var ( - terminationCounter = prometheus.NewCounterVec( + terminationCounter = promauto.NewCounterVec( prometheus.CounterOpts{ Name: "gitaly_ruby_memory_terminations_total", Help: "Number of times gitaly-ruby has been terminated because of excessive memory use.", @@ -21,10 +22,6 @@ var ( ) ) -func init() { - prometheus.MustRegister(terminationCounter) -} - // worker observes the event stream of a supervised process and restarts // it if necessary, in cooperation with the balancer. type worker struct { diff --git a/internal/gitaly/server/auth/auth.go b/internal/gitaly/server/auth/auth.go index 3e0e99514..1227fdf99 100644 --- a/internal/gitaly/server/auth/auth.go +++ b/internal/gitaly/server/auth/auth.go @@ -6,6 +6,7 @@ import ( grpc_auth "github.com/grpc-ecosystem/go-grpc-middleware/auth" "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" gitalyauth "gitlab.com/gitlab-org/gitaly/auth" internalauth "gitlab.com/gitlab-org/gitaly/internal/gitaly/config/auth" "google.golang.org/grpc" @@ -14,7 +15,7 @@ import ( ) var ( - authCount = prometheus.NewCounterVec( + authCount = promauto.NewCounterVec( prometheus.CounterOpts{ Name: "gitaly_authentications_total", Help: "Counts of of Gitaly request authentication attempts", @@ -23,10 +24,6 @@ var ( ) ) -func init() { - prometheus.MustRegister(authCount) -} - // StreamServerInterceptor checks for Gitaly bearer tokens. func StreamServerInterceptor(conf internalauth.Config) grpc.StreamServerInterceptor { return grpc_auth.StreamServerInterceptor(checkFunc(conf)) diff --git a/internal/gitaly/service/commit/list_commits_by_oid.go b/internal/gitaly/service/commit/list_commits_by_oid.go index 1d5efb6c2..b0a6463d3 100644 --- a/internal/gitaly/service/commit/list_commits_by_oid.go +++ b/internal/gitaly/service/commit/list_commits_by_oid.go @@ -3,6 +3,7 @@ package commit import ( "github.com/golang/protobuf/proto" "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" "gitlab.com/gitlab-org/gitaly/internal/git" "gitlab.com/gitlab-org/gitaly/internal/git/catfile" gitlog "gitlab.com/gitlab-org/gitaly/internal/git/log" @@ -11,7 +12,7 @@ import ( ) var ( - listCommitsbyOidHistogram = prometheus.NewHistogram( + listCommitsbyOidHistogram = promauto.NewHistogram( prometheus.HistogramOpts{ Name: "gitaly_list_commits_by_oid_request_size", Help: "Number of commits requested in a ListCommitsByOid request", @@ -23,10 +24,6 @@ var ( }) ) -func init() { - prometheus.MustRegister(listCommitsbyOidHistogram) -} - func (s *server) ListCommitsByOid(in *gitalypb.ListCommitsByOidRequest, stream gitalypb.CommitService_ListCommitsByOidServer) error { ctx := stream.Context() diff --git a/internal/gitaly/service/smarthttp/cache.go b/internal/gitaly/service/smarthttp/cache.go index 2b723103a..0d2cfc8bb 100644 --- a/internal/gitaly/service/smarthttp/cache.go +++ b/internal/gitaly/service/smarthttp/cache.go @@ -9,6 +9,7 @@ import ( "github.com/golang/protobuf/proto" "github.com/grpc-ecosystem/go-grpc-middleware/logging/logrus/ctxlogrus" "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" log "github.com/sirupsen/logrus" "gitlab.com/gitlab-org/gitaly/internal/cache" "gitlab.com/gitlab-org/gitaly/proto/go/gitalypb" @@ -35,13 +36,13 @@ func newInfoRefCache(streamer streamer) infoRefCache { var ( // prometheus counters - cacheAttemptTotal = prometheus.NewCounter( + cacheAttemptTotal = promauto.NewCounter( prometheus.CounterOpts{ Name: "gitaly_inforef_cache_attempt_total", Help: "Total number of smarthttp info-ref RPCs accessing the cache", }, ) - hitMissTotals = prometheus.NewCounterVec( + hitMissTotals = promauto.NewCounterVec( prometheus.CounterOpts{ Name: "gitaly_inforef_cache_hit_miss_total", Help: "Total number of smarthttp info-ref RPCs accessing the cache", @@ -56,11 +57,6 @@ var ( countErr = func() { hitMissTotals.WithLabelValues("err").Inc() } ) -func init() { - prometheus.MustRegister(cacheAttemptTotal) - prometheus.MustRegister(hitMissTotals) -} - func (c infoRefCache) tryCache(ctx context.Context, in *gitalypb.InfoRefsRequest, w io.Writer, missFn func(io.Writer) error) error { if len(in.GetGitConfigOptions()) > 0 || len(in.GetGitProtocol()) > 0 { diff --git a/internal/metadata/featureflag/grpc_header.go b/internal/metadata/featureflag/grpc_header.go index c35404c84..fa1053558 100644 --- a/internal/metadata/featureflag/grpc_header.go +++ b/internal/metadata/featureflag/grpc_header.go @@ -8,6 +8,7 @@ import ( "strings" "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" "google.golang.org/grpc/metadata" ) @@ -19,7 +20,7 @@ var ( // purposes such that we can run integration tests with feature flags. featureFlagsOverride = os.Getenv("GITALY_TESTING_ENABLE_ALL_FEATURE_FLAGS") - flagChecks = prometheus.NewCounterVec( + flagChecks = promauto.NewCounterVec( prometheus.CounterOpts{ Name: "gitaly_feature_flag_checks_total", Help: "Number of enabled/disabled checks for Gitaly server side feature flags", @@ -28,10 +29,6 @@ var ( ) ) -func init() { - prometheus.MustRegister(flagChecks) -} - // Delim is a delimiter used between a feature flag name and its value. const Delim = ":" diff --git a/internal/middleware/cache/prometheus.go b/internal/middleware/cache/prometheus.go index 949945382..8e5683065 100644 --- a/internal/middleware/cache/prometheus.go +++ b/internal/middleware/cache/prometheus.go @@ -2,24 +2,25 @@ package cache import ( "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" "gitlab.com/gitlab-org/gitaly/internal/praefect/protoregistry" ) var ( - rpcTotal = prometheus.NewCounter( + rpcTotal = promauto.NewCounter( prometheus.CounterOpts{ Name: "gitaly_cacheinvalidator_rpc_total", Help: "Total number of RPCs encountered by cache invalidator", }, ) - rpcOpTypes = prometheus.NewCounterVec( + rpcOpTypes = promauto.NewCounterVec( prometheus.CounterOpts{ Name: "gitaly_cacheinvalidator_optype_total", Help: "Total number of operation types encountered by cache invalidator", }, []string{"type"}, ) - methodErrTotals = prometheus.NewCounterVec( + methodErrTotals = promauto.NewCounterVec( prometheus.CounterOpts{ Name: "gitaly_cacheinvalidator_error_total", Help: "Total number of cache invalidation errors by method", @@ -28,12 +29,6 @@ var ( ) ) -func init() { - prometheus.MustRegister(rpcTotal) - prometheus.MustRegister(rpcOpTypes) - prometheus.MustRegister(methodErrTotals) -} - // counter functions are package vars to allow for overriding in tests var ( countMethodErr = func(method string) { methodErrTotals.WithLabelValues(method).Inc() } diff --git a/internal/middleware/limithandler/metrics.go b/internal/middleware/limithandler/metrics.go index f8200180a..399fe4ac1 100644 --- a/internal/middleware/limithandler/metrics.go +++ b/internal/middleware/limithandler/metrics.go @@ -7,13 +7,14 @@ import ( "github.com/grpc-ecosystem/go-grpc-middleware/logging/logrus/ctxlogrus" "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" ) const acquireDurationLogThreshold = 10 * time.Millisecond var ( histogramVec *prometheus.HistogramVec - inprogressGaugeVec = prometheus.NewGaugeVec( + inprogressGaugeVec = promauto.NewGaugeVec( prometheus.GaugeOpts{ Namespace: "gitaly", Subsystem: "rate_limiting", @@ -23,7 +24,7 @@ var ( []string{"system", "grpc_service", "grpc_method"}, ) - queuedGaugeVec = prometheus.NewGaugeVec( + queuedGaugeVec = promauto.NewGaugeVec( prometheus.GaugeOpts{ Namespace: "gitaly", Subsystem: "rate_limiting", @@ -40,10 +41,6 @@ type promMonitor struct { histogram prometheus.Observer } -func init() { - prometheus.MustRegister(inprogressGaugeVec, queuedGaugeVec) -} - func splitMethodName(fullMethodName string) (string, string) { fullMethodName = strings.TrimPrefix(fullMethodName, "/") // remove leading slash if i := strings.Index(fullMethodName, "/"); i >= 0 { @@ -62,12 +59,10 @@ func EnableAcquireTimeHistogram(buckets []float64) { Buckets: buckets, } - histogramVec = prometheus.NewHistogramVec( + histogramVec = promauto.NewHistogramVec( histogramOpts, []string{"system", "grpc_service", "grpc_method"}, ) - - prometheus.MustRegister(histogramVec) } func (c *promMonitor) Queued(ctx context.Context) { diff --git a/internal/middleware/metadatahandler/metadatahandler.go b/internal/middleware/metadatahandler/metadatahandler.go index cfe5cb1a4..8025200b3 100644 --- a/internal/middleware/metadatahandler/metadatahandler.go +++ b/internal/middleware/metadatahandler/metadatahandler.go @@ -7,6 +7,7 @@ import ( grpc_ctxtags "github.com/grpc-ecosystem/go-grpc-middleware/tags" grpc_prometheus "github.com/grpc-ecosystem/go-grpc-prometheus" "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" gitalyauth "gitlab.com/gitlab-org/gitaly/auth" "gitlab.com/gitlab-org/gitaly/internal/helper" "gitlab.com/gitlab-org/labkit/correlation" @@ -15,7 +16,7 @@ import ( ) var ( - requests = prometheus.NewCounterVec( + requests = promauto.NewCounterVec( prometheus.CounterOpts{ Namespace: "gitaly", Subsystem: "service", @@ -33,10 +34,6 @@ type metadataTags struct { deadlineType string } -func init() { - prometheus.MustRegister(requests) -} - // CallSiteKey is the key used in ctx_tags to store the client feature const CallSiteKey = "grpc.meta.call_site" diff --git a/internal/praefect/metrics/prometheus.go b/internal/praefect/metrics/prometheus.go index 1c366fe93..ef40a68fb 100644 --- a/internal/praefect/metrics/prometheus.go +++ b/internal/praefect/metrics/prometheus.go @@ -2,6 +2,7 @@ package metrics import ( "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" promconfig "gitlab.com/gitlab-org/gitaly/internal/gitaly/config/prometheus" "gitlab.com/gitlab-org/gitaly/internal/prometheus/metrics" ) @@ -53,7 +54,7 @@ func RegisterNodeLatency(conf promconfig.Config) (metrics.HistogramVec, error) { return nodeLatency, prometheus.Register(nodeLatency) } -var MethodTypeCounter = prometheus.NewCounterVec( +var MethodTypeCounter = promauto.NewCounterVec( prometheus.CounterOpts{ Namespace: "gitaly", Subsystem: "praefect", @@ -61,7 +62,7 @@ var MethodTypeCounter = prometheus.NewCounterVec( }, []string{"method_type"}, ) -var PrimaryGauge = prometheus.NewGaugeVec( +var PrimaryGauge = promauto.NewGaugeVec( prometheus.GaugeOpts{ Namespace: "gitaly", Subsystem: "praefect", @@ -69,7 +70,7 @@ var PrimaryGauge = prometheus.NewGaugeVec( }, []string{"virtual_storage", "gitaly_storage"}, ) -var NodeLastHealthcheckGauge = prometheus.NewGaugeVec( +var NodeLastHealthcheckGauge = promauto.NewGaugeVec( prometheus.GaugeOpts{ Namespace: "gitaly", Subsystem: "praefect", @@ -77,7 +78,7 @@ var NodeLastHealthcheckGauge = prometheus.NewGaugeVec( }, []string{"gitaly_storage"}, ) -var ChecksumMismatchCounter = prometheus.NewCounterVec( +var ChecksumMismatchCounter = promauto.NewCounterVec( prometheus.CounterOpts{ Namespace: "gitaly", Subsystem: "praefect", @@ -86,7 +87,7 @@ var ChecksumMismatchCounter = prometheus.NewCounterVec( ) // ReadDistribution counts how many read operations was routed to each storage. -var ReadDistribution = prometheus.NewCounterVec( +var ReadDistribution = promauto.NewCounterVec( prometheus.CounterOpts{ Namespace: "gitaly", Subsystem: "praefect", @@ -95,13 +96,3 @@ var ReadDistribution = prometheus.NewCounterVec( }, []string{"virtual_storage", "storage"}, ) - -func init() { - prometheus.MustRegister( - MethodTypeCounter, - PrimaryGauge, - ChecksumMismatchCounter, - NodeLastHealthcheckGauge, - ReadDistribution, - ) -} diff --git a/internal/supervisor/monitor.go b/internal/supervisor/monitor.go index a5f609cf6..9f15f7923 100644 --- a/internal/supervisor/monitor.go +++ b/internal/supervisor/monitor.go @@ -4,19 +4,20 @@ import ( "time" "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" log "github.com/sirupsen/logrus" "gitlab.com/gitlab-org/gitaly/internal/ps" ) var ( - rssGauge = prometheus.NewGaugeVec( + rssGauge = promauto.NewGaugeVec( prometheus.GaugeOpts{ Name: "gitaly_supervisor_rss_bytes", Help: "Resident set size of supervised processes, in bytes.", }, []string{"name"}, ) - healthCounter = prometheus.NewCounterVec( + healthCounter = promauto.NewCounterVec( prometheus.CounterOpts{ Name: "gitaly_supervisor_health_checks_total", Help: "Count of Gitaly supervisor health checks", @@ -25,11 +26,6 @@ var ( ) ) -func init() { - prometheus.MustRegister(rssGauge) - prometheus.MustRegister(healthCounter) -} - type monitorProcess struct { pid int wait <-chan struct{} diff --git a/internal/supervisor/supervisor.go b/internal/supervisor/supervisor.go index c6c9a7e22..c13e75948 100644 --- a/internal/supervisor/supervisor.go +++ b/internal/supervisor/supervisor.go @@ -10,6 +10,7 @@ import ( "github.com/kelseyhightower/envconfig" "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promauto" log "github.com/sirupsen/logrus" "gitlab.com/gitlab-org/labkit/tracing" ) @@ -25,7 +26,7 @@ type Config struct { } var ( - startCounter = prometheus.NewCounterVec( + startCounter = promauto.NewCounterVec( prometheus.CounterOpts{ Name: "gitaly_supervisor_starts_total", Help: "Number of starts of supervised processes.", @@ -39,7 +40,6 @@ var ( func init() { envconfig.MustProcess("gitaly_supervisor", &config) - prometheus.MustRegister(startCounter) } // Process represents a running process. |