summaryrefslogtreecommitdiff
path: root/internal/db/bundb/hook.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/db/bundb/hook.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/db/bundb/hook.go')
-rw-r--r--internal/db/bundb/hook.go11
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.