From e17f63a50cfa71e66d8e3c22458140456f811132 Mon Sep 17 00:00:00 2001 From: Srikanth Chekuri Date: Mon, 7 Apr 2025 20:45:49 +0530 Subject: [PATCH] chore: error log on query error (#7553) * chore: error log or query error * chore: no error on context cancel --- .../telemetrystorehook/logging.go | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/pkg/telemetrystore/telemetrystorehook/logging.go b/pkg/telemetrystore/telemetrystorehook/logging.go index b9e03a676e..fb11e259d6 100644 --- a/pkg/telemetrystore/telemetrystorehook/logging.go +++ b/pkg/telemetrystore/telemetrystorehook/logging.go @@ -2,6 +2,8 @@ package telemetrystorehook import ( "context" + "database/sql" + "errors" "log/slog" "time" @@ -30,12 +32,21 @@ func (logging) BeforeQuery(ctx context.Context, event *telemetrystore.QueryEvent } func (hook *logging) AfterQuery(ctx context.Context, event *telemetrystore.QueryEvent) { - hook.logger.Log( - ctx, - hook.level, - "::TELEMETRYSTORE-QUERY::", + level := hook.level + args := []any{ "db.query.text", event.Query, "db.query.args", event.QueryArgs, "db.duration", time.Since(event.StartTime).String(), + } + if event.Err != nil && !errors.Is(event.Err, sql.ErrNoRows) && !errors.Is(event.Err, context.Canceled) { + level = slog.LevelError + args = append(args, "db.query.error", event.Err) + } + + hook.logger.Log( + ctx, + level, + "::TELEMETRYSTORE-QUERY::", + args..., ) }