diff options
author | Krasimir Angelov <kangelov@gitlab.com> | 2020-01-17 05:37:44 +0300 |
---|---|---|
committer | Krasimir Angelov <kangelov@gitlab.com> | 2020-01-27 07:44:10 +0300 |
commit | 0aec773658db8dd91027f57ad5a3bb5796680df3 (patch) | |
tree | 5ec3cdd0e71e43ef47e7ef16eb1001fc652c829f | |
parent | 7aa6cbe305448a52d496db02df50251ebf1a7c76 (diff) |
Add domain configuration duration (from disk) to Prometheus metrics
-rw-r--r-- | acceptance_test.go | 6 | ||||
-rw-r--r-- | internal/source/disk/map.go | 1 | ||||
-rw-r--r-- | metrics/metrics.go | 8 |
3 files changed, 15 insertions, 0 deletions
diff --git a/acceptance_test.go b/acceptance_test.go index 065a6dda..aec7195c 100644 --- a/acceptance_test.go +++ b/acceptance_test.go @@ -397,6 +397,12 @@ func TestPrometheusMetricsCanBeScraped(t *testing.T) { require.Contains(t, string(body), "gitlab_pages_http_in_flight_requests 0") require.Contains(t, string(body), "gitlab_pages_served_domains 16") + require.Contains(t, string(body), "gitlab_pages_domains_failed_total 0") + require.Contains(t, string(body), "gitlab_pages_domains_updated_total 1") + require.Contains(t, string(body), "gitlab_pages_last_domain_update_seconds gauge") + require.Contains(t, string(body), "gitlab_pages_domains_configuration_update_duration gauge") + require.Contains(t, string(body), "gitlab_pages_domains_source_cache_hit 0") + require.Contains(t, string(body), "gitlab_pages_domains_source_cache_miss 0") } func TestStatusPage(t *testing.T) { diff --git a/internal/source/disk/map.go b/internal/source/disk/map.go index b5843301..bae4b764 100644 --- a/internal/source/disk/map.go +++ b/internal/source/disk/map.go @@ -281,6 +281,7 @@ func Watch(rootDomain string, updater domainsUpdater, interval time.Duration) { // Update prometheus metrics metrics.DomainLastUpdateTime.Set(float64(time.Now().UTC().Unix())) metrics.DomainsServed.Set(float64(len(dm))) + metrics.DomainsConfigurationUpdateDuration.Set(duration) metrics.DomainUpdates.Inc() time.Sleep(interval) diff --git a/metrics/metrics.go b/metrics/metrics.go index e65d87b1..b858e229 100644 --- a/metrics/metrics.go +++ b/metrics/metrics.go @@ -29,6 +29,12 @@ var ( Help: "UNIX timestamp of the last update", }) + // DomainsConfigurationUpdateDuration is the time it takes to update domains configuration from disk + DomainsConfigurationUpdateDuration = prometheus.NewGauge(prometheus.GaugeOpts{ + Name: "gitlab_pages_domains_configuration_update_duration", + Help: "The time (in seconds) it takes to update domains configuration from disk", + }) + // DomainsSourceCacheHit is the number of GitLab API call cache hits DomainsSourceCacheHit = prometheus.NewCounter(prometheus.CounterOpts{ Name: "gitlab_pages_domains_source_cache_hit", @@ -44,8 +50,10 @@ var ( func init() { prometheus.MustRegister(DomainsServed) + prometheus.MustRegister(FailedDomainUpdates) prometheus.MustRegister(DomainUpdates) prometheus.MustRegister(DomainLastUpdateTime) + prometheus.MustRegister(DomainsConfigurationUpdateDuration) prometheus.MustRegister(DomainsSourceCacheHit) prometheus.MustRegister(DomainsSourceCacheMiss) } |