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:
authorJaime Martinez <jmartinez@gitlab.com>2020-02-11 11:39:25 +0300
committerAlessio Caiazza <acaiazza@gitlab.com>2020-02-11 11:39:25 +0300
commit2b0661b4ff4fe112798f03f62861096104b9e373 (patch)
tree6a6fe4dc6f0d499fbce4ae2b6e5a151cfef6eea1 /internal/source
parent81db00b64dd2d4c9aec85fc58e92374e806732d9 (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.go2
-rw-r--r--internal/source/gitlab/client/client.go11
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()