tracer

package
v2.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 20, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WithTracingEnabled

func WithTracingEnabled(ctx context.Context) context.Context

Types

type LogTracer

type LogTracer struct {
	Logger           *slog.Logger
	LogAllQueries    bool
	LogFailedQueries bool
	// replace placeholders with arguments useful for local debugging
	LogValues bool
	// enabled if non-zero value is provided
	LogSlowQueriesThreshold time.Duration

	// give client power to change each section which is being logged
	StartQueryHook  func(ctx context.Context, query string, args []any)
	SlowQueryHook   func(ctx context.Context, query string, duration time.Duration)
	EndQueryHook    func(ctx context.Context, query string, duration time.Duration)
	FailedQueryHook func(ctx context.Context, query string, err error)
}

func NewLogTracer

func NewLogTracer(logger *slog.Logger, opts ...Option) *LogTracer

func (*LogTracer) TraceBatchEnd

func (l *LogTracer) TraceBatchEnd(ctx context.Context, conn *pgx.Conn, data pgx.TraceBatchEndData)

func (*LogTracer) TraceBatchQuery

func (l *LogTracer) TraceBatchQuery(ctx context.Context, conn *pgx.Conn, data pgx.TraceBatchQueryData)

func (*LogTracer) TraceBatchStart

func (l *LogTracer) TraceBatchStart(ctx context.Context, conn *pgx.Conn, data pgx.TraceBatchStartData) context.Context

func (*LogTracer) TraceQueryEnd

func (l *LogTracer) TraceQueryEnd(ctx context.Context, conn *pgx.Conn, data pgx.TraceQueryEndData)

func (*LogTracer) TraceQueryStart

func (l *LogTracer) TraceQueryStart(ctx context.Context, _ *pgx.Conn, data pgx.TraceQueryStartData) context.Context

type Option

type Option interface {
	// contains filtered or unexported methods
}

func WithLogAllQueries

func WithLogAllQueries() Option

func WithLogEndHook

func WithLogEndHook(f func(ctx context.Context, query string, duration time.Duration)) Option

func WithLogFailedQueries

func WithLogFailedQueries() Option

func WithLogFailedQueryHook

func WithLogFailedQueryHook(f func(ctx context.Context, query string, err error)) Option

func WithLogSlowQueriesThreshold

func WithLogSlowQueriesThreshold(threshold time.Duration) Option

func WithLogSlowQueryHook

func WithLogSlowQueryHook(f func(ctx context.Context, query string, duration time.Duration)) Option

func WithLogStartHook

func WithLogStartHook(f func(ctx context.Context, query string, args []any)) Option

func WithLogValues

func WithLogValues() Option

type SQLTracer

type SQLTracer struct {
	// contains filtered or unexported fields
}

func NewSQLTracer

func NewSQLTracer(tracers ...Tracer) *SQLTracer

func (*SQLTracer) TraceBatchEnd

func (s *SQLTracer) TraceBatchEnd(ctx context.Context, conn *pgx.Conn, data pgx.TraceBatchEndData)

func (*SQLTracer) TraceBatchQuery

func (s *SQLTracer) TraceBatchQuery(ctx context.Context, conn *pgx.Conn, data pgx.TraceBatchQueryData)

func (*SQLTracer) TraceBatchStart

func (s *SQLTracer) TraceBatchStart(ctx context.Context, conn *pgx.Conn, data pgx.TraceBatchStartData) context.Context

func (*SQLTracer) TraceQueryEnd

func (s *SQLTracer) TraceQueryEnd(ctx context.Context, conn *pgx.Conn, data pgx.TraceQueryEndData)

func (*SQLTracer) TraceQueryStart

func (s *SQLTracer) TraceQueryStart(ctx context.Context, conn *pgx.Conn, data pgx.TraceQueryStartData) context.Context

type Tracer

type Tracer interface {
	pgx.QueryTracer
	pgx.BatchTracer
}

Tracer see: https://github.com/jackc/pgx/blob/master/tracer.go Not implemented: CopyFromTracer, PrepareTracer, PrepareTracer ( not needed now )

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL