From 2eed06b320284f95bcd406028517fbb2b6a4b498 Mon Sep 17 00:00:00 2001 From: Tigor Hutasuhut Date: Tue, 9 Jul 2024 14:12:04 +0700 Subject: [PATCH] reddit: round tripper now shows ms duration of request --- api/reddit/client.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/api/reddit/client.go b/api/reddit/client.go index f8a8ab6..c2c4f4c 100644 --- a/api/reddit/client.go +++ b/api/reddit/client.go @@ -2,6 +2,7 @@ package reddit import ( "net/http" + "time" "github.com/tigorlazuardi/redmage/config" "github.com/tigorlazuardi/redmage/pkg/log" @@ -25,22 +26,26 @@ func (ro roundTripperFunc) RoundTrip(req *http.Request) (*http.Response, error) func createRoundTripper(cfg *config.Config) roundTripperFunc { return func(r *http.Request) (*http.Response, error) { + start := time.Now() r.Header.Set("User-Agent", cfg.String("download.useragent")) resp, err := http.DefaultTransport.RoundTrip(r) + end := time.Now() + duration := end.Sub(start) + durStr := (duration / time.Millisecond).String() if err != nil { log.New(r.Context()). Err(err). - Errorf("reddit: %s %s", r.Method, r.URL) + Errorf("reddit: %s %s %sms", r.Method, r.URL, durStr) return resp, err } if resp.StatusCode >= 400 { log.New(r.Context()). - Errorf("reddit: %s %s %d", r.Method, r.URL, resp.StatusCode) + Errorf("reddit: %s %s %sms", r.Method, r.URL, durStr) return resp, err } if resp.StatusCode >= 200 && resp.StatusCode < 300 { log.New(r.Context()). - Infof("reddit: %s %s %d", r.Method, r.URL, resp.StatusCode) + Infof("reddit: %s %s %d %sms", r.Method, r.URL, resp.StatusCode, durStr) } return resp, err }