chore: refresh gramsrv public release

This commit is contained in:
A 2026-06-30 14:37:43 +08:00
parent 75cebe8dbf
commit 70b6820474
1274 changed files with 378751 additions and 59919 deletions

View file

@ -0,0 +1,34 @@
package postgres
import (
"context"
"time"
"github.com/jackc/pgx/v5"
"telesrv/internal/observability/dbtrace"
)
type queryStatsTracer struct{}
type queryStatsStartKey struct{}
func (queryStatsTracer) TraceQueryStart(ctx context.Context, _ *pgx.Conn, _ pgx.TraceQueryStartData) context.Context {
if _, ok := dbtrace.FromContext(ctx); !ok {
return ctx
}
return context.WithValue(ctx, queryStatsStartKey{}, time.Now())
}
func (queryStatsTracer) TraceQueryEnd(ctx context.Context, _ *pgx.Conn, data pgx.TraceQueryEndData) {
stats, ok := dbtrace.FromContext(ctx)
if !ok {
return
}
start, _ := ctx.Value(queryStatsStartKey{}).(time.Time)
if start.IsZero() {
stats.Add(0, data.Err)
return
}
stats.Add(time.Since(start), data.Err)
}