package multitracer

import "github.com/jackc/pgx/v5/multitracer"

Package multitracer provides a Tracer that can combine several tracers into one.

Index

Types

type Tracer

type Tracer struct {
	QueryTracers       []pgx.QueryTracer
	BatchTracers       []pgx.BatchTracer
	CopyFromTracers    []pgx.CopyFromTracer
	PrepareTracers     []pgx.PrepareTracer
	ConnectTracers     []pgx.ConnectTracer
	PoolAcquireTracers []pgxpool.AcquireTracer
	PoolReleaseTracers []pgxpool.ReleaseTracer
}

Tracer can combine several tracers into one. You can use New to automatically split tracers by interface.

func New

func New(tracers ...pgx.QueryTracer) *Tracer

New returns new Tracer from tracers with automatically split tracers by interface.

func (*Tracer) TraceAcquireEnd

func (t *Tracer) TraceAcquireEnd(ctx context.Context, pool *pgxpool.Pool, data pgxpool.TraceAcquireEndData)

func (*Tracer) TraceAcquireStart

func (t *Tracer) TraceAcquireStart(ctx context.Context, pool *pgxpool.Pool, data pgxpool.TraceAcquireStartData) context.Context

func (*Tracer) TraceBatchEnd

func (t *Tracer) TraceBatchEnd(ctx context.Context, conn *pgx.Conn, data pgx.TraceBatchEndData)

func (*Tracer) TraceBatchQuery

func (t *Tracer) TraceBatchQuery(ctx context.Context, conn *pgx.Conn, data pgx.TraceBatchQueryData)

func (*Tracer) TraceBatchStart

func (t *Tracer) TraceBatchStart(ctx context.Context, conn *pgx.Conn, data pgx.TraceBatchStartData) context.Context

func (*Tracer) TraceConnectEnd

func (t *Tracer) TraceConnectEnd(ctx context.Context, data pgx.TraceConnectEndData)

func (*Tracer) TraceConnectStart

func (t *Tracer) TraceConnectStart(ctx context.Context, data pgx.TraceConnectStartData) context.Context

func (*Tracer) TraceCopyFromEnd

func (t *Tracer) TraceCopyFromEnd(ctx context.Context, conn *pgx.Conn, data pgx.TraceCopyFromEndData)

func (*Tracer) TraceCopyFromStart

func (t *Tracer) TraceCopyFromStart(ctx context.Context, conn *pgx.Conn, data pgx.TraceCopyFromStartData) context.Context

func (*Tracer) TracePrepareEnd

func (t *Tracer) TracePrepareEnd(ctx context.Context, conn *pgx.Conn, data pgx.TracePrepareEndData)

func (*Tracer) TracePrepareStart

func (t *Tracer) TracePrepareStart(ctx context.Context, conn *pgx.Conn, data pgx.TracePrepareStartData) context.Context

func (*Tracer) TraceQueryEnd

func (t *Tracer) TraceQueryEnd(ctx context.Context, conn *pgx.Conn, data pgx.TraceQueryEndData)

func (*Tracer) TraceQueryStart

func (t *Tracer) TraceQueryStart(ctx context.Context, conn *pgx.Conn, data pgx.TraceQueryStartData) context.Context

func (*Tracer) TraceRelease

func (t *Tracer) TraceRelease(pool *pgxpool.Pool, data pgxpool.TraceReleaseData)

Source Files

tracer.go

Version
v5.7.2 (latest)
Published
Dec 21, 2024
Platform
linux/amd64
Imports
3 packages
Last checked
5 days ago

Tools for package owners.