chore: refresh gramsrv public release
This commit is contained in:
parent
75cebe8dbf
commit
70b6820474
1274 changed files with 378751 additions and 59919 deletions
34
internal/store/postgres/query_stats.go
Normal file
34
internal/store/postgres/query_stats.go
Normal 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)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue