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 /internal/source | |
parent | 81db00b64dd2d4c9aec85fc58e92374e806732d9 (diff) |
Add prometheus metrics for GitLab API client
Refactor metrics initialization removing init function
from the metrics package.
Diffstat (limited to 'internal/source')
-rw-r--r-- | internal/source/disk/map.go | 2 | ||||
-rw-r--r-- | internal/source/gitlab/client/client.go | 11 |
2 files changed, 8 insertions, 5 deletions
diff --git a/internal/source/disk/map.go b/internal/source/disk/map.go index bae4b764..5c053fcb 100644 --- a/internal/source/disk/map.go +++ b/internal/source/disk/map.go @@ -252,7 +252,7 @@ func Watch(rootDomain string, updater domainsUpdater, interval time.Duration) { fis, err := godirwalk.ReadDirents(".", nil) if err != nil { log.WithError(err).Warn("domain scan failed") - metrics.FailedDomainUpdates.Inc() + metrics.DomainFailedUpdates.Inc() continue } diff --git a/internal/source/gitlab/client/client.go b/internal/source/gitlab/client/client.go index 59776a8f..afe9da6f 100644 --- a/internal/source/gitlab/client/client.go +++ b/internal/source/gitlab/client/client.go @@ -11,10 +11,11 @@ import ( "net/url" "time" - jwt "github.com/dgrijalva/jwt-go" + "github.com/dgrijalva/jwt-go" "gitlab.com/gitlab-org/gitlab-pages/internal/httptransport" "gitlab.com/gitlab-org/gitlab-pages/internal/source/gitlab/api" + "gitlab.com/gitlab-org/gitlab-pages/metrics" ) // Client is a HTTP client to access Pages internal API @@ -32,7 +33,7 @@ func NewClient(baseURL string, secretKey []byte, connectionTimeout, jwtTokenExpi return nil, errors.New("GitLab API URL or API secret has not been provided") } - url, err := url.Parse(baseURL) + parsedURL, err := url.Parse(baseURL) if err != nil { return nil, err } @@ -47,10 +48,10 @@ func NewClient(baseURL string, secretKey []byte, connectionTimeout, jwtTokenExpi return &Client{ secretKey: secretKey, - baseURL: url, + baseURL: parsedURL, httpClient: &http.Client{ Timeout: connectionTimeout, - Transport: httptransport.Transport, + Transport: httptransport.NewTransportWithMetrics(metrics.DomainsSourceAPICallDuration, metrics.DomainsSourceAPIReqTotal), }, jwtTokenExpiry: jwtTokenExpiry, }, nil @@ -115,6 +116,8 @@ func (gc *Client) get(ctx context.Context, path string, params url.Values) (*htt return resp, nil } + // nolint: errcheck + // best effort to discard and close the response body io.Copy(ioutil.Discard, resp.Body) resp.Body.Close() |