{"repo":"go-gorm/opentelemetry","free":true,"listed":false,"github":"https://github.com/go-gorm/opentelemetry","clone":"git clone https://github.com/go-gorm/opentelemetry.git","description":"opentelemetry for gorm","language":"Go","stars":137,"topics":["gorm","opentelemetry","logger","metrics","trace"],"license":"MIT","category":"analytics","readme_excerpt":"opentelemetry Opentelemetry for gorm Feature Tracing - support tracing gorm by Hook Create Query Delete Update Row Raw Metrics - Collect DB Status Logging - Use logrus replace gorm default logger - Use hook to report span message Provider - Out-of-the-box default opentelemetry provider - Support setting via environment variables How to Use ? Set logger go package main import( \"gorm.io/gorm/logger\" \"gorm.io/plugin/opentelemetry/logging/logrus\" ) func init(){ logger := logger.New( logrus.NewWriter(), logger.Config{ SlowThreshold: time.Millisecond, LogLevel: logger.Warn, Colorful: false, }, ) db, err := gorm.Open(sqlite.Open(\"file::memory:?cache=shared\"),&gorm.Config{Logger: logger}) } Set tracing and metrics go package main import( \"gorm.io/plugin/opentelemetry/tracing\" ) func init(){ db, err := gorm.Open(sqlite.Open(\"file::memory:?cache=shared\"), &gorm.Config{}) if err != nil { panic(err) } if err := db.Use(tracing.NewPlugin()); err != nil { panic(err) } } Set only tracing go package main import( \"gorm.io/plugin/opentelemetry/tracing\" ) func init(){ db, err := gorm.Open(sqlite.Open(\"file::memory:?cache=shared\"), &gorm.Config{}) if err != nil { panic(err) } if err := db.Use(tracing.NewPlugin(tracing.WithoutMetrics())); err != nil { panic(err) } } More info See examples","default_branch":null,"files":null,"tree":[],"storefront":"/r/go-gorm","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/go-gorm/opentelemetry/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}