Files
bot-pontos/backend/internal/metrics/metrics.go
2026-10-23 22:31:02 -03:00

24 lines
1019 B
Go

// Package metrics define os pontos de medição do sistema (ARQUITETURA.md 12,
// decisão 23). Na primeira versão a implementação não faz nada e não existe
// endpoint /metrics. Para ativar o Prometheus, basta criar uma implementação
// de Recorder com prometheus/client_golang e expor /metrics na rede interna.
package metrics
import "time"
type Recorder interface {
// PointsRequest mede cada consulta de histórico à PontoMais.
PointsRequest(duration time.Duration, err error)
// ReconciliationCycle mede um ciclo de reconciliação.
ReconciliationCycle(duration time.Duration, queried, failed int)
// Notification conta lembretes por tipo e status final (sent, failed, expired, cancelled).
Notification(notificationType, status string)
}
// Noop é a implementação padrão: não registra nada.
type Noop struct{}
func (Noop) PointsRequest(time.Duration, error) {}
func (Noop) ReconciliationCycle(time.Duration, int, int) {}
func (Noop) Notification(string, string) {}