Skip to content

Latest commit

 

History

History
25 lines (18 loc) · 656 Bytes

File metadata and controls

25 lines (18 loc) · 656 Bytes

SQL client

Wrapper around database/sql adding OpenTelemetry spans and query duration metrics.

  • Package: github.com/beatlabs/patron/client/sql

Open connections

// Open with driver name and DSN
DB, err := patronsql.Open("mysql", dsn)
// Wrap an existing *sql.DB
DB := patronsql.FromDB(existingDB)

The returned *patronsql.DB mirrors *sql.DB API and propagates context to statements and transactions:

ctx := context.Background()
var n int
err := DB.QueryRow(ctx, "SELECT 1").Scan(&n)
  • Metrics: query duration histogram labeled with driver, success/error.
  • Tracing: spans per Exec/Query/Prepare/Tx with DB attributes.