From 68e6d08c768b789987a753d42f66caf73ce10ee1 Mon Sep 17 00:00:00 2001 From: Daenney Date: Fri, 17 Feb 2023 12:02:29 +0100 Subject: [feature] Add a request ID and include it in logs (#1476) This adds a lightweight form of tracing to GTS. Each incoming request is assigned a Request ID which we then pass on and log in all our log lines. Any function that gets called downstream from an HTTP handler should now emit a requestID=value pair whenever it logs something. Co-authored-by: kim --- internal/httpclient/client.go | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'internal/httpclient/client.go') diff --git a/internal/httpclient/client.go b/internal/httpclient/client.go index 6de975bbd..45f0c3447 100644 --- a/internal/httpclient/client.go +++ b/internal/httpclient/client.go @@ -180,12 +180,13 @@ func (c *Client) Do(req *http.Request) (*http.Response, error) { if !ok { // No spot acquired, log warning - log.WithFields(kv.Fields{ - {K: "queue", V: len(wait)}, - {K: "method", V: req.Method}, - {K: "host", V: req.Host}, - {K: "uri", V: req.URL.RequestURI()}, - }...).Warn("full request queue") + log.WithContext(req.Context()). + WithFields(kv.Fields{ + {K: "queue", V: len(wait)}, + {K: "method", V: req.Method}, + {K: "host", V: req.Host}, + {K: "uri", V: req.URL.RequestURI()}, + }...).Warn("full request queue") select { case <-req.Context().Done(): -- cgit v1.2.3