Ответ
Для оценки времени доступа к БД обычно использую p99 latency (99-й перцентиль) — он показывает худшие 1% запросов, что критично для SLA. Также смотрю среднее время (avg) и максимальное (max).
Пример метрик Prometheus:
// Замер времени запроса
start := time.Now()
rows, err := db.Query("SELECT * FROM users")
duration := time.Since(start).Seconds()
// Экспорт метрик
dbQueryDuration.WithLabelValues("users").Observe(duration)
Дополнительно полезны:
- Throughput (запросов/сек)
- Error rate (ошибки/таймауты)
- Connection pool metrics (ожидающие запросы)