Documentation
¶
Index ¶
- type Metrics
- func (m *Metrics) HTTPMiddleware(next http.Handler) http.Handler
- func (m *Metrics) Handler() http.Handler
- func (m *Metrics) RecordFetchDuration(duration time.Duration)
- func (m *Metrics) RecordIMAPConnection(success bool, duration time.Duration)
- func (m *Metrics) UpdateAuthResults(spfResults, dkimResults map[string]int)
- func (m *Metrics) UpdateDispositionMetrics(disposition string, count int)
- func (m *Metrics) UpdateDomainMetrics(domain string, messages int, complianceRate float64)
- func (m *Metrics) UpdateOrgMetrics(orgName string, reports int)
- func (m *Metrics) UpdateStatistics(totalReports, totalMessages, compliantMessages, uniqueIPs, uniqueDomains int, ...)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Metrics ¶
type Metrics struct {
// Build info
BuildInfo *prometheus.GaugeVec
// Report processing metrics
ReportsFetched prometheus.Counter
ReportsParsed prometheus.Counter
ReportsStored prometheus.Counter
ReportParseErrors prometheus.Counter
ReportStoreErrors prometheus.Counter
AttachmentsTotal prometheus.Counter
FetchDuration prometheus.Histogram
LastFetchTimestamp prometheus.Gauge
FetchCyclesTotal prometheus.Counter
FetchErrors prometheus.Counter
// IMAP connection metrics
IMAPConnectionsTotal *prometheus.CounterVec
IMAPConnectionDuration prometheus.Histogram
// DMARC statistics (gauges that reflect current state)
TotalReports prometheus.Gauge
TotalMessages prometheus.Gauge
CompliantMessages prometheus.Gauge
ComplianceRate prometheus.Gauge
UniqueSourceIPs prometheus.Gauge
UniqueDomains prometheus.Gauge
// Per-domain metrics
MessagesByDomain *prometheus.GaugeVec
ComplianceByDomain *prometheus.GaugeVec
ReportsByOrg *prometheus.GaugeVec
MessagesByDisposition *prometheus.GaugeVec
// Authentication results
SPFResults *prometheus.GaugeVec
DKIMResults *prometheus.GaugeVec
// HTTP server metrics
HTTPRequestsTotal *prometheus.CounterVec
HTTPRequestDuration *prometheus.HistogramVec
HTTPRequestsInFlight prometheus.Gauge
// contains filtered or unexported fields
}
Metrics holds all Prometheus metrics for the application
func (*Metrics) HTTPMiddleware ¶
HTTPMiddleware wraps an HTTP handler with metrics instrumentation
func (*Metrics) RecordFetchDuration ¶
RecordFetchDuration records the duration of a fetch operation
func (*Metrics) RecordIMAPConnection ¶
RecordIMAPConnection records an IMAP connection attempt
func (*Metrics) UpdateAuthResults ¶
UpdateAuthResults updates SPF and DKIM result counts
func (*Metrics) UpdateDispositionMetrics ¶
UpdateDispositionMetrics updates disposition counts
func (*Metrics) UpdateDomainMetrics ¶
UpdateDomainMetrics updates per-domain metrics
func (*Metrics) UpdateOrgMetrics ¶
UpdateOrgMetrics updates per-organization metrics
func (*Metrics) UpdateStatistics ¶
func (m *Metrics) UpdateStatistics(totalReports, totalMessages, compliantMessages, uniqueIPs, uniqueDomains int, complianceRate float64)
UpdateStatistics updates the DMARC statistics gauges
Click to show internal directories.
Click to hide internal directories.