Package apmgorm provides wrappers for tracing GORM operations.
Open returns a *gorm.DB for the given dialect and arguments. The returned *gorm.DB will have callbacks registered with RegisterCallbacks, such that CRUD operations will be reported as spans.
Open accepts the following signatures:
- a datasource name (i.e. the second argument to sql.Open) - a driver name and a datasource name - a *sql.DB, or some other type with the same interface
If a driver and datasource name are supplied, and the appropriate apmgorm/dialects package has been imported (or the driver has otherwise been registered with apmsql), then the datasource name will be parsed for inclusion in the span context.
RegisterCallbacks registers callbacks on db for reporting spans to Elastic APM. This is called automatically by apmgorm.Open; it is provided for cases where a *gorm.DB is acquired by other means.
WithContext returns a copy of db with ctx recorded for use by the callbacks registered via RegisterCallbacks.
|dialects/mysql||Package apmgormmysql imports the gorm mysql dialect package, and also registers the mysql driver with apmsql.|
|dialects/postgres||Package apmgormpostgres imports the gorm postgres dialect package, and also registers the lib/pq driver with apmsql.|
|dialects/sqlite||Package apmgormsqlite imports the gorm sqlite dialect package, and also registers the sqlite3 driver with apmsql.|