Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-pages.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrasimir Angelov <kangelov@gitlab.com>2020-01-17 05:37:44 +0300
committerKrasimir Angelov <kangelov@gitlab.com>2020-01-27 07:44:10 +0300
commit0aec773658db8dd91027f57ad5a3bb5796680df3 (patch)
tree5ec3cdd0e71e43ef47e7ef16eb1001fc652c829f
parent7aa6cbe305448a52d496db02df50251ebf1a7c76 (diff)
Add domain configuration duration (from disk) to Prometheus metrics
-rw-r--r--acceptance_test.go6
-rw-r--r--internal/source/disk/map.go1
-rw-r--r--metrics/metrics.go8
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)
}