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:
authorNick Thomas <nick@gitlab.com>2019-12-17 18:42:13 +0300
committerNick Thomas <nick@gitlab.com>2019-12-17 18:42:13 +0300
commit2c84d70fc40cbdfe006bc4693949d375d73b1db7 (patch)
tree6b17c5d603adaa8b051c6bd37a11a4ce587a71b1
parent332f72f54c95bf44c8559b65473350516827b1c4 (diff)
parentb6c55c1fed2f48c75aade7344d57e171fe4f0073 (diff)
Merge branch 'feature/gb/domains-source-caching-metrics' into 'master'
Add GitLab API domains source caching metrics Closes #279 See merge request gitlab-org/gitlab-pages!213
-rw-r--r--internal/source/gitlab/cache/cache.go4
-rw-r--r--metrics/metrics.go14
2 files changed, 18 insertions, 0 deletions
diff --git a/internal/source/gitlab/cache/cache.go b/internal/source/gitlab/cache/cache.go
index 492a52a9..3d518ff0 100644
--- a/internal/source/gitlab/cache/cache.go
+++ b/internal/source/gitlab/cache/cache.go
@@ -4,6 +4,7 @@ import (
"context"
"gitlab.com/gitlab-org/gitlab-pages/internal/source/gitlab/api"
+ "gitlab.com/gitlab-org/gitlab-pages/metrics"
)
// Cache is a short and long caching mechanism for GitLab source
@@ -73,14 +74,17 @@ func (c *Cache) Resolve(ctx context.Context, domain string) *api.Lookup {
entry := c.store.LoadOrCreate(domain)
if entry.IsUpToDate() {
+ metrics.DomainsSourceCacheHit.Inc()
return entry.Lookup()
}
if entry.NeedsRefresh() {
entry.Refresh(c.client, c.store)
+ metrics.DomainsSourceCacheHit.Inc()
return entry.Lookup()
}
+ metrics.DomainsSourceCacheMiss.Inc()
return entry.Retrieve(ctx, c.client)
}
diff --git a/metrics/metrics.go b/metrics/metrics.go
index 18fd3fdd..e65d87b1 100644
--- a/metrics/metrics.go
+++ b/metrics/metrics.go
@@ -28,10 +28,24 @@ var (
Name: "gitlab_pages_last_domain_update_seconds",
Help: "UNIX timestamp of the last update",
})
+
+ // DomainsSourceCacheHit is the number of GitLab API call cache hits
+ DomainsSourceCacheHit = prometheus.NewCounter(prometheus.CounterOpts{
+ Name: "gitlab_pages_domains_source_cache_hit",
+ Help: "The number of GitLab domains API cache hits",
+ })
+
+ // DomainsSourceCacheMiss is the number of GitLab API call cache misses
+ DomainsSourceCacheMiss = prometheus.NewCounter(prometheus.CounterOpts{
+ Name: "gitlab_pages_domains_source_cache_miss",
+ Help: "The number of GitLab domains API cache misses",
+ })
)
func init() {
prometheus.MustRegister(DomainsServed)
prometheus.MustRegister(DomainUpdates)
prometheus.MustRegister(DomainLastUpdateTime)
+ prometheus.MustRegister(DomainsSourceCacheHit)
+ prometheus.MustRegister(DomainsSourceCacheMiss)
}