diff options
author | Jaime Martinez <jmartinez@gitlab.com> | 2020-02-11 11:39:25 +0300 |
---|---|---|
committer | Alessio Caiazza <acaiazza@gitlab.com> | 2020-02-11 11:39:25 +0300 |
commit | 2b0661b4ff4fe112798f03f62861096104b9e373 (patch) | |
tree | 6a6fe4dc6f0d499fbce4ae2b6e5a151cfef6eea1 /metrics | |
parent | 81db00b64dd2d4c9aec85fc58e92374e806732d9 (diff) |
Add prometheus metrics for GitLab API client
Refactor metrics initialization removing init function
from the metrics package.
Diffstat (limited to 'metrics')
-rw-r--r-- | metrics/metrics.go | 41 |
1 files changed, 29 insertions, 12 deletions
diff --git a/metrics/metrics.go b/metrics/metrics.go index 1ae527a8..7ae50c81 100644 --- a/metrics/metrics.go +++ b/metrics/metrics.go @@ -11,8 +11,8 @@ var ( Help: "The number of sites served by this Pages app", }) - // FailedDomainUpdates counts the number of failed site updates - FailedDomainUpdates = prometheus.NewCounter(prometheus.CounterOpts{ + // DomainFailedUpdates counts the number of failed site updates + DomainFailedUpdates = prometheus.NewCounter(prometheus.CounterOpts{ Name: "gitlab_pages_domains_failed_total", Help: "The total number of site updates that have failed since daemon start", }) @@ -58,16 +58,33 @@ var ( Name: "gitlab_pages_serverless_latency", Help: "Serverless serving roundtrip duration", }) + + // DomainsSourceAPIReqTotal is the number of calls made to the GitLab API that returned a 4XX error + DomainsSourceAPIReqTotal = prometheus.NewCounterVec(prometheus.CounterOpts{ + Name: "gitlab_pages_domains_source_api_requests_total", + Help: "The number of GitLab domains API calls with different status codes", + }, []string{"status_code"}) + + // DomainsSourceAPICallDuration is the time it takes to get a response from the GitLab API in seconds + DomainsSourceAPICallDuration = prometheus.NewGaugeVec(prometheus.GaugeOpts{ + Name: "gitlab_pages_domains_source_api_call_duration", + Help: "The time (in seconds) it takes to get a response from the GitLab domains API", + }, []string{"status_code"}) ) -func init() { - prometheus.MustRegister(DomainsServed) - prometheus.MustRegister(FailedDomainUpdates) - prometheus.MustRegister(DomainUpdates) - prometheus.MustRegister(DomainLastUpdateTime) - prometheus.MustRegister(DomainsConfigurationUpdateDuration) - prometheus.MustRegister(DomainsSourceCacheHit) - prometheus.MustRegister(DomainsSourceCacheMiss) - prometheus.MustRegister(ServerlessRequests) - prometheus.MustRegister(ServerlessLatency) +// MustRegister collectors with the Prometheus client +func MustRegister() { + prometheus.MustRegister( + DomainsServed, + DomainFailedUpdates, + DomainUpdates, + DomainLastUpdateTime, + DomainsConfigurationUpdateDuration, + DomainsSourceCacheHit, + DomainsSourceCacheMiss, + DomainsSourceAPIReqTotal, + DomainsSourceAPICallDuration, + ServerlessRequests, + ServerlessLatency, + ) } |