mirror of
https://github.com/grafana/grafana.git
synced 2025-08-03 02:32:19 +08:00
chore(metrics): Add metrics & traces to DB migration (#97181)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
This commit is contained in:
@ -75,18 +75,6 @@ func ProvideService(cfg *setting.Cfg,
|
||||
}
|
||||
s.tracer = tracer
|
||||
|
||||
// initialize and register metrics wrapper around the *sql.DB
|
||||
db := s.engine.DB().DB
|
||||
|
||||
// register the go_sql_stats_connections_* metrics
|
||||
if err := prometheus.Register(sqlstats.NewStatsCollector("grafana", db)); err != nil {
|
||||
s.log.Warn("Failed to register sqlstore stats collector", "error", err)
|
||||
}
|
||||
// TODO: deprecate/remove these metrics
|
||||
if err := prometheus.Register(newSQLStoreMetrics(db)); err != nil {
|
||||
s.log.Warn("Failed to register sqlstore metrics", "error", err)
|
||||
}
|
||||
|
||||
return s, nil
|
||||
}
|
||||
|
||||
@ -150,7 +138,14 @@ func (ss *SQLStore) Migrate(isDatabaseLockingEnabled bool) error {
|
||||
migrator := migrator.NewMigrator(ss.engine, ss.cfg)
|
||||
ss.migrations.AddMigration(migrator)
|
||||
|
||||
return migrator.Start(isDatabaseLockingEnabled, ss.dbCfg.MigrationLockAttemptTimeout)
|
||||
if err := prometheus.Register(migrator); err != nil {
|
||||
ss.log.Warn("Failed to register migrator metrics", "error", err)
|
||||
}
|
||||
|
||||
ctx, span := ss.tracer.Start(context.Background(), "SQLStore.Migrate")
|
||||
defer span.End()
|
||||
|
||||
return migrator.RunMigrations(ctx, isDatabaseLockingEnabled, ss.dbCfg.MigrationLockAttemptTimeout)
|
||||
}
|
||||
|
||||
// Reset resets database state.
|
||||
@ -327,6 +322,19 @@ func (ss *SQLStore) initEngine(engine *xorm.Engine) error {
|
||||
engine.ShowExecTime(true)
|
||||
}
|
||||
|
||||
// initialize and register metrics wrapper around the *sql.DB
|
||||
db := engine.DB().DB
|
||||
|
||||
// register the go_sql_stats_connections_* metrics
|
||||
if err := prometheus.Register(sqlstats.NewStatsCollector("grafana", db)); err != nil {
|
||||
ss.log.Warn("Failed to register sqlstore stats collector", "error", err)
|
||||
}
|
||||
|
||||
// TODO: deprecate/remove these metrics
|
||||
if err := prometheus.Register(newSQLStoreMetrics(db)); err != nil {
|
||||
ss.log.Warn("Failed to register sqlstore metrics", "error", err)
|
||||
}
|
||||
|
||||
ss.engine = engine
|
||||
return nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user