diff options
author | Nick Thomas <nick@gitlab.com> | 2021-07-21 12:46:33 +0000 |
---|---|---|
committer | Nick Thomas <nick@gitlab.com> | 2021-07-21 12:46:33 +0000 |
commit | a8b2088d6d40e365445fcf4bea5183f83e31cc51 (patch) | |
tree | 6ba91a9dfb68e955575c6d851bddf0adfa1f5797 /internal/config/config.go | |
parent | 50da611814d256c77e689977265ec7e07633a4dc (diff) | |
parent | 368a64546c97abdc7019f98cbc97eecdbda2b6a5 (diff) | |
download | gitlab-shell-a8b2088d6d40e365445fcf4bea5183f83e31cc51.tar.gz |
Merge branch 'id-prometheus-metrics-for-http' into 'main'
Prometheus metrics for HTTP requests
See merge request gitlab-org/gitlab-shell!496
Diffstat (limited to 'internal/config/config.go')
-rw-r--r-- | internal/config/config.go | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/internal/config/config.go b/internal/config/config.go index 4c75ad5..ba21219 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -10,9 +10,11 @@ import ( "sync" "time" + "github.com/prometheus/client_golang/prometheus/promhttp" yaml "gopkg.in/yaml.v2" "gitlab.com/gitlab-org/gitlab-shell/client" + "gitlab.com/gitlab-org/gitlab-shell/internal/metrics" ) const ( @@ -95,7 +97,7 @@ func (c *Config) ApplyGlobalState() { func (c *Config) HttpClient() *client.HttpClient { c.httpClientOnce.Do(func() { - c.httpClient = client.NewHTTPClient( + client := client.NewHTTPClient( c.GitlabUrl, c.GitlabRelativeURLRoot, c.HttpSettings.CaFile, @@ -103,6 +105,12 @@ func (c *Config) HttpClient() *client.HttpClient { c.HttpSettings.SelfSignedCert, c.HttpSettings.ReadTimeoutSeconds, ) + + tr := client.Transport + client.Transport = promhttp.InstrumentRoundTripperDuration(metrics.HttpRequestDuration, tr) + + + c.httpClient = client }) return c.httpClient |