Documentation ¶
Overview ¶
Package sqlx provides functions to trace the jmoiron/sqlx package (https://github.com/jmoiron/sqlx). To enable tracing, first use one of the "Register*" functions to register the sql driver that you will be using, then continue using the package as you normally would.
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Connect ¶
Connect connects to the data source using the given driver. To get tracing, the driver must be formerly registered using the database/sql integration's Register.
func MustConnect ¶
MustConnect connects to a database and panics on error. To get tracing, the driver must be formerly registered using the database/sql integration's Register.
func MustOpen ¶
MustOpen is the same as Open, but panics on error. To get tracing, the driver must be formerly registered using the database/sql integration's Register.
func Open ¶
Open opens a new (traced) connection to the database using the given driver and source. Note that the driver must formerly be registered using database/sql integration's Register.
Example ¶
package main import ( "log" "github.com/jmoiron/sqlx" "github.com/lib/pq" sqltrace "git.proto.group/protoobp/pobp-trace-go/contrib/database/sql" sqlxtrace "git.proto.group/protoobp/pobp-trace-go/contrib/jmoiron/sqlx" ) func main() { // Register informs the sqlxtrace package of the driver that we will be using in our program. // It uses a default service name, in the below case "postgres.db". To use a custom service // name use RegisterWithServiceName. sqltrace.Register("postgres", &pq.Driver{}, sqltrace.WithServiceName("my-service")) db, err := sqlxtrace.Open("postgres", "postgres://pqgotest:password@localhost/pqgotest?sslmode=disable") if err != nil { log.Fatal(err) } // All calls through sqlx API will then be traced. query, args, err := sqlx.In("SELECT * FROM users WHERE level IN (?);", []int{4, 6, 7}) if err != nil { log.Fatal(err) } query = db.Rebind(query) rows, err := db.Queryx(query, args...) if err != nil { log.Fatal(err) } defer rows.Close() }
Output:
Types ¶
This section is empty.