summaryrefslogtreecommitdiff
path: root/vendor/github.com/uptrace/opentelemetry-go-extra/otelsql/README.md
diff options
context:
space:
mode:
authorLibravatar Terin Stock <terinjokes@gmail.com>2025-03-09 17:47:56 +0100
committerLibravatar Terin Stock <terinjokes@gmail.com>2025-12-01 22:08:04 +0100
commitb1af8fd87760b34e3ff2fd3bda38f211815a0473 (patch)
tree9317fad1a7ec298d7a8d2678e4e422953bbc6f33 /vendor/github.com/uptrace/opentelemetry-go-extra/otelsql/README.md
parent[chore] update URLs to forked source (diff)
downloadgotosocial-b1af8fd87760b34e3ff2fd3bda38f211815a0473.tar.xz
[chore] remove vendor
Diffstat (limited to 'vendor/github.com/uptrace/opentelemetry-go-extra/otelsql/README.md')
-rw-r--r--vendor/github.com/uptrace/opentelemetry-go-extra/otelsql/README.md119
1 files changed, 0 insertions, 119 deletions
diff --git a/vendor/github.com/uptrace/opentelemetry-go-extra/otelsql/README.md b/vendor/github.com/uptrace/opentelemetry-go-extra/otelsql/README.md
deleted file mode 100644
index c8886453f..000000000
--- a/vendor/github.com/uptrace/opentelemetry-go-extra/otelsql/README.md
+++ /dev/null
@@ -1,119 +0,0 @@
-[![PkgGoDev](https://pkg.go.dev/badge/github.com/uptrace/opentelemetry-go-extra/otelsql)](https://pkg.go.dev/github.com/uptrace/opentelemetry-go-extra/otelsql)
-
-# database/sql instrumentation for OpenTelemetry Go
-
-[OpenTelemetry database/sql](https://uptrace.dev/get/instrument/opentelemetry-database-sql.html)
-instrumentation records database queries (including `Tx` and `Stmt` queries) and reports `DBStats`
-metrics.
-
-## Installation
-
-```shell
-go get github.com/uptrace/opentelemetry-go-extra/otelsql
-```
-
-## Usage
-
-To instrument database/sql, you need to connect to a database using the API provided by otelsql:
-
-| sql | otelsql |
-| --------------------------- | ------------------------------- |
-| `sql.Open(driverName, dsn)` | `otelsql.Open(driverName, dsn)` |
-| `sql.OpenDB(connector)` | `otelsql.OpenDB(connector)` |
-
-```go
-import (
- "github.com/uptrace/opentelemetry-go-extra/otelsql"
- semconv "go.opentelemetry.io/otel/semconv/v1.10.0"
-)
-
-db, err := otelsql.Open("sqlite", "file::memory:?cache=shared",
- otelsql.WithAttributes(semconv.DBSystemSqlite),
- otelsql.WithDBName("mydb"))
-if err != nil {
- panic(err)
-}
-
-// db is *sql.DB
-```
-
-And then use context-aware API to propagate the active span via
-[context](https://uptrace.dev/opentelemetry/go-tracing.html#context):
-
-```go
-var num int
-if err := db.QueryRowContext(ctx, "SELECT 42").Scan(&num); err != nil {
- panic(err)
-}
-```
-
-See [example](/example/) for details.
-
-## Options
-
-Both [otelsql.Open](https://pkg.go.dev/github.com/uptrace/opentelemetry-go-extra/otelsql#Open) and
-[otelsql.OpenDB](https://pkg.go.dev/github.com/uptrace/opentelemetry-go-extra/otelsql#OpenDB) accept
-the same [options](https://pkg.go.dev/github.com/uptrace/opentelemetry-go-extra/otelsql#Option):
-
-- [WithAttributes](https://pkg.go.dev/github.com/uptrace/opentelemetry-go-extra/otelsql#WithAttributes)
- configures attributes that are used to create a span.
-- [WithDBName](https://pkg.go.dev/github.com/uptrace/opentelemetry-go-extra/otelsql#WithDBName)
- configures a `db.name` attribute.
-- [WithDBSystem](https://pkg.go.dev/github.com/uptrace/opentelemetry-go-extra/otelsql#WithDBSystem)
- configures a `db.system` attribute. When possible, you should prefer using WithAttributes and
- [semconv](https://pkg.go.dev/go.opentelemetry.io/otel/semconv/v1.10.0), for example,
- `otelsql.WithAttributes(semconv.DBSystemSqlite)`.
-
-## sqlboiler
-
-You can use otelsql to instrument [sqlboiler](https://github.com/volatiletech/sqlboiler) ORM:
-
-```go
-import (
- "github.com/uptrace/opentelemetry-go-extra/otelsql"
- semconv "go.opentelemetry.io/otel/semconv/v1.10.0"
-)
-
-db, err := otelsql.Open("postgres", "dbname=fun user=abc",
- otelsql.WithAttributes(semconv.DBSystemPostgreSQL))
-if err != nil {
- return err
-}
-
-boil.SetDB(db)
-```
-
-## GORM 1
-
-You can use otelsql to instrument [GORM 1](https://v1.gorm.io/):
-
-```go
-import (
- "github.com/jinzhu/gorm"
- "github.com/uptrace/opentelemetry-go-extra/otelsql"
- semconv "go.opentelemetry.io/otel/semconv/v1.10.0"
-)
-
-// gormOpen is like gorm.Open, but it uses otelsql to instrument the database.
-func gormOpen(driverName, dataSourceName string, opts ...otelsql.Option) (*gorm.DB, error) {
- db, err := otelsql.Open(driverName, dataSourceName, opts...)
- if err != nil {
- return nil, err
- }
- return gorm.Open(driverName, db)
-}
-
-db, err := gormOpen("mysql", "user:password@/dbname",
- otelsql.WithAttributes(semconv.DBSystemMySQL))
-if err != nil {
- panic(err)
-}
-```
-
-To instrument GORM 2, use
-[otelgorm](https://github.com/uptrace/opentelemetry-go-extra/tree/main/otelgorm).
-
-## Alternatives
-
-- https://github.com/XSAM/otelsql - different driver registration and no metrics.
-- https://github.com/j2gg0s/otsql - like XSAM/otelsql but with Prometheus metrics.