From 5ef496ff41ab9893a8dd1fad879879dbeb92ce36 Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Sun, 1 Nov 2020 20:52:24 -0800 Subject: Log Content-Length bytes in API request This will be useful to measure bandwidth sent with API requests, particularly with measuring the /api/v4/internal/lfs endpoint. --- client/client_test.go | 2 ++ client/gitlabnet.go | 4 ++++ 2 files changed, 6 insertions(+) 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 -- cgit v1.2.1