proxy.golang.org : github.com/newrelic/go-agent/v3/integrations/nrpq/example/sqlx : v0.0.0-20230628185058-ab9e248ab828
An application that illustrates how to instrument jmoiron/sqlx with DatastoreSegments To run this example, be sure the environment varible NEW_RELIC_LICENSE_KEY is set to your license key. Postgres must be running on the default port 5432 and have a user "foo" and a database "bar". One quick (albeit insecure) way of doing this is to run a small local Postgres instance in Docker: Adding instrumentation for the SQLx package is easy. It means you can make database calls without having to manually create DatastoreSegments. Setup can be done in two steps: If you are using one of our currently supported database drivers (see https://docs.newrelic.com/docs/agents/go-agent/get-started/go-agent-compatibility-requirements#frameworks), follow the instructions on installing the driver. As an example, for the `lib/pq` driver, you will use the newrelic integration's driver in place of the postgres driver. If your code is using sqlx.Open with `lib/pq` like this: Then change the side-effect import to the integration package, and open "nrpostgres" instead: If you are not using one of the supported database drivers, use the `InstrumentSQLDriver` (https://godoc.org/github.com/newrelic/go-agent#InstrumentSQLDriver) API. See https://github.com/newrelic/go-agent/blob/master/v3/integrations/nrmysql/nrmysql.go for a full example. Next, you must provide a context containing a newrelic.Transaction to all methods on sqlx.DB, sqlx.NamedStmt, sqlx.Stmt, and sqlx.Tx that make a database call. For example, instead of the following: Do this:
Registry -
Documentation -
Download -
JSON -
codemeta.json
purl: pkg:golang/github.com/newrelic/go-agent/v3/integrations/nrpq/example/sqlx@v0.0.0-20230628185058-ab9e248ab828
Published:
Indexed:
- github.com/jmoiron/sqlx v1.2.0
- github.com/lib/pq v1.1.0
- github.com/newrelic/go-agent/v3 v3.3.0
- github.com/newrelic/go-agent/v3/integrations/nrpq v0.0.0