feat: expose mysql transaction retry metrics

This commit is contained in:
2026-09-20 21:52:17 +08:00
parent a1e6fcc07f
commit ac8cc1260b
10 changed files with 55 additions and 4 deletions

View File

@@ -81,6 +81,8 @@ func run() error {
DispatchCapacity: cfg.DispatchCapacity,
})
metrics.RecordDatabase(db.Stats())
txStats := mysql.ReadTransactionStats()
metrics.RecordTransactionStats(observability.TransactionStats{Retries: txStats.Retries, Exhausted: txStats.Exhausted})
}
server := httpserver.New(cfg.HTTPAddr, readiness.Check, service.New(mysql.NewTaskStore(db)))
httpserver.RegisterApplicationResources(server, resources.New(mysql.NewTaskStore(db)))
@@ -216,6 +218,8 @@ func run() error {
return
case <-ticker.C:
metrics.RecordDatabase(db.Stats())
txStats := mysql.ReadTransactionStats()
metrics.RecordTransactionStats(observability.TransactionStats{Retries: txStats.Retries, Exhausted: txStats.Exhausted})
metrics.RecordProcess()
started := time.Now()
call, cancel := context.WithTimeout(metricsCtx, 900*time.Millisecond)