diff options
author | 2023-02-17 12:02:29 +0100 | |
---|---|---|
committer | 2023-02-17 12:02:29 +0100 | |
commit | 68e6d08c768b789987a753d42f66caf73ce10ee1 (patch) | |
tree | 1c9eb6da6c326266d653de80684c3aec58922638 /internal/db/bundb/hook.go | |
parent | [bugfix] Set 'discoverable' properly on API accounts (#1511) (diff) | |
download | gotosocial-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/db/bundb/hook.go')
-rw-r--r-- | internal/db/bundb/hook.go | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/internal/db/bundb/hook.go b/internal/db/bundb/hook.go index e4c44a294..e0a132bd0 100644 --- a/internal/db/bundb/hook.go +++ b/internal/db/bundb/hook.go @@ -36,17 +36,18 @@ func (queryHook) BeforeQuery(ctx context.Context, _ *bun.QueryEvent) context.Con } // AfterQuery logs the time taken to query, the operation (select, update, etc), and the query itself as translated by bun. -func (queryHook) AfterQuery(_ context.Context, event *bun.QueryEvent) { +func (queryHook) AfterQuery(ctx context.Context, event *bun.QueryEvent) { // Get the DB query duration dur := time.Since(event.StartTime) switch { // Warn on slow database queries case dur > time.Second: - log.WithFields(kv.Fields{ - {"duration", dur}, - {"query", event.Query}, - }...).Warn("SLOW DATABASE QUERY") + log.WithContext(ctx). + WithFields(kv.Fields{ + {"duration", dur}, + {"query", event.Query}, + }...).Warn("SLOW DATABASE QUERY") // On trace, we log query information, // manually crafting so DB query not escaped. |