diff options
author | Stan Hu <stanhu@gmail.com> | 2020-11-01 20:52:24 -0800 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2020-11-02 20:33:52 -0800 |
commit | 6b05bee11e61e27bdd401d9eb6a5f6996c684dcd (patch) | |
tree | e6fa696571101ecb35ea9d016246c1210295d963 | |
parent | 027c8c366bd6bac4b291577f10b2c13ffc5a6cc1 (diff) | |
download | gitlab-shell-6b05bee11e61e27bdd401d9eb6a5f6996c684dcd.tar.gz |
Log Content-Length bytes in API resposne
This will be useful to measure bandwidth sent in response to an API
request, particularly with measuring the /api/v4/internal/lfs endpoint.
-rw-r--r-- | client/client_test.go | 2 | ||||
-rw-r--r-- | client/gitlabnet.go | 4 |
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 |