summaryrefslogtreecommitdiff
path: root/internal/httpclient/client.go
diff options
context:
space:
mode:
authorLibravatar Daenney <daenney@users.noreply.github.com>2023-02-17 12:02:29 +0100
committerLibravatar GitHub <noreply@github.com>2023-02-17 12:02:29 +0100
commit68e6d08c768b789987a753d42f66caf73ce10ee1 (patch)
tree1c9eb6da6c326266d653de80684c3aec58922638 /internal/httpclient/client.go
parent[bugfix] Set 'discoverable' properly on API accounts (#1511) (diff)
downloadgotosocial-68e6d08c768b789987a753d42f66caf73ce10ee1.tar.xz
[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 <grufwub@gmail.com>
Diffstat (limited to 'internal/httpclient/client.go')
-rw-r--r--internal/httpclient/client.go13
1 files changed, 7 insertions, 6 deletions
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():