chore(pgx): make it possible to get the raw hooked driver
This commit is contained in:
parent
61763d05af
commit
bf66baf3c5
1 changed files with 9 additions and 4 deletions
|
@ -3,6 +3,7 @@ package unitel
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"database/sql"
|
"database/sql"
|
||||||
|
"database/sql/driver"
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
@ -59,15 +60,19 @@ func (h *tracedPgxHooks) After(ctx context.Context, query string, args ...interf
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *Telemetry) RegisterTracedPGx(printQueries bool) {
|
func (t *Telemetry) RegisterTracedPGx(printQueries bool) {
|
||||||
|
sql.Register(TracedPGxDriverName, t.TracedPGx(printQueries))
|
||||||
|
|
||||||
|
log.Debug().Msgf("Registered %s driver", TracedPGxDriverName)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *Telemetry) TracedPGx(printQueries bool) driver.Driver {
|
||||||
tracer := t.tracerProvider.Tracer(pgxClientID, trace.WithInstrumentationVersion(libVersion))
|
tracer := t.tracerProvider.Tracer(pgxClientID, trace.WithInstrumentationVersion(libVersion))
|
||||||
|
|
||||||
sql.Register(TracedPGxDriverName, sqlhooks.Wrap(&pgx.Driver{}, &tracedPgxHooks{
|
return sqlhooks.Wrap(&pgx.Driver{}, &tracedPgxHooks{
|
||||||
printQueries: printQueries,
|
printQueries: printQueries,
|
||||||
t: t,
|
t: t,
|
||||||
tracer: tracer,
|
tracer: tracer,
|
||||||
}))
|
})
|
||||||
|
|
||||||
log.Debug().Msgf("Registered %s driver", TracedPGxDriverName)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func formatArgs(args []interface{}) []string {
|
func formatArgs(args []interface{}) []string {
|
||||||
|
|
Loading…
Reference in a new issue