summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2020-11-01 20:52:24 -0800
committerStan Hu <stanhu@gmail.com>2020-11-01 20:52:24 -0800
commit5ef496ff41ab9893a8dd1fad879879dbeb92ce36 (patch)
treee6fa696571101ecb35ea9d016246c1210295d963
parent027c8c366bd6bac4b291577f10b2c13ffc5a6cc1 (diff)
downloadgitlab-shell-sh-log-content-length-bytes.tar.gz
Log Content-Length bytes in API requestsh-log-content-length-bytes
This will be useful to measure bandwidth sent with API requests, particularly with measuring the /api/v4/internal/lfs endpoint.
-rw-r--r--client/client_test.go2
-rw-r--r--client/gitlabnet.go4
2 files changed, 6 insertions, 0 deletions
diff --git a/client/client_test.go b/client/client_test.go
index 9895012..45d9819 100644
--- a/client/client_test.go
+++ b/client/client_test.go
@@ -94,6 +94,7 @@ func testSuccessfulGet(t *testing.T, client *GitlabNetClient) {
require.Equal(t, logrus.InfoLevel, entries[0].Level)
require.Contains(t, entries[0].Message, "method=GET")
require.Contains(t, entries[0].Message, "status=200")
+ require.Contains(t, entries[0].Message, "content_length_bytes=")
require.Contains(t, entries[0].Message, "Finished HTTP request")
require.Contains(t, entries[0].Message, "correlation_id=")
})
@@ -120,6 +121,7 @@ func testSuccessfulPost(t *testing.T, client *GitlabNetClient) {
require.Equal(t, logrus.InfoLevel, entries[0].Level)
require.Contains(t, entries[0].Message, "method=POST")
require.Contains(t, entries[0].Message, "status=200")
+ require.Contains(t, entries[0].Message, "content_length_bytes=")
require.Contains(t, entries[0].Message, "Finished HTTP request")
require.Contains(t, entries[0].Message, "correlation_id=")
})
diff --git a/client/gitlabnet.go b/client/gitlabnet.go
index fcefb24..a5b22ee 100644
--- a/client/gitlabnet.go
+++ b/client/gitlabnet.go
@@ -156,6 +156,10 @@ func (c *GitlabNetClient) DoRequest(ctx context.Context, method, path string, da
return nil, err
}
+ if response.ContentLength >= 0 {
+ logger = logger.WithField("content_length_bytes", response.ContentLength)
+ }
+
logger.Info("Finished HTTP request")
return response, nil