amb-monitor/db/metrics.go

21 lines
587 B
Go

package db
import (
"time"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promauto"
)
var QueryDurations = promauto.NewHistogramVec(prometheus.HistogramOpts{
Namespace: "monitor",
Subsystem: "db",
Name: "query_duration_seconds",
Help: "Shows database query durations.",
Buckets: []float64{0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 4, 6, 8, 10, 12, 15, 20},
}, []string{"query"})
func ObserveDuration(query string) func() time.Duration {
return prometheus.NewTimer(QueryDurations.WithLabelValues(query)).ObserveDuration
}