Documentation
¶
Index ¶
- func PrometheusHandler() http.Handler
- type HealthStats
- type Metrics
- func (m *Metrics) DecrementActiveConns()
- func (m *Metrics) GetHealthStats() HealthStats
- func (m *Metrics) HealthHandler() http.HandlerFunc
- func (m *Metrics) HealthWSHandler() http.HandlerFunc
- func (m *Metrics) IncrementActiveConns()
- func (m *Metrics) ObserveDBLatency(seconds float64)
- func (m *Metrics) RecordIngestion(count int)
- func (m *Metrics) SetActiveConnections(n int)
- func (m *Metrics) SetDLQSize(n int)
- func (m *Metrics) StartRuntimeMetrics()
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func PrometheusHandler ¶
Types ¶
type HealthStats ¶
type HealthStats struct {
IngestionRate int64 `json:"ingestion_rate"`
DLQSize int64 `json:"dlq_size"`
ActiveConns int64 `json:"active_connections"`
DBLatencyP99Ms float64 `json:"db_latency_p99_ms"`
Goroutines int `json:"goroutines"`
HeapAllocMB float64 `json:"heap_alloc_mb"`
UptimeSeconds float64 `json:"uptime_seconds"`
}
HealthStats is the JSON response for GET /api/health.
type Metrics ¶
type Metrics struct {
// --- Existing ---
IngestionRate prometheus.Counter
ActiveConnections prometheus.Gauge
DBLatency prometheus.Histogram
DLQSize prometheus.Gauge
// --- gRPC ---
GRPCRequestsTotal *prometheus.CounterVec
GRPCRequestDuration *prometheus.HistogramVec
GRPCBatchSize prometheus.Histogram
// --- HTTP ---
HTTPRequestsTotal *prometheus.CounterVec
HTTPRequestDuration *prometheus.HistogramVec
// --- TSDB ---
TSDBIngestTotal prometheus.Counter
TSDBFlushDuration prometheus.Histogram
TSDBBatchesDropped prometheus.Counter
TSDBCardinalityOverflow prometheus.Counter
// --- WebSocket ---
WSMessagesSent *prometheus.CounterVec
WSSlowClientsRemoved prometheus.Counter
// --- DLQ ---
DLQEnqueuedTotal prometheus.Counter
DLQReplaySuccess prometheus.Counter
DLQReplayFailure prometheus.Counter
DLQDiskBytes prometheus.Gauge
// --- Archive ---
ArchiveRecordsMoved *prometheus.CounterVec
HotDBSizeBytes prometheus.Gauge
ColdStorageBytes prometheus.Gauge
// --- Runtime ---
GoGoroutines prometheus.Gauge
GoHeapAllocBytes prometheus.Gauge
// contains filtered or unexported fields
}
Metrics holds all internal Prometheus metrics for Argus self-monitoring.
func (*Metrics) DecrementActiveConns ¶
func (m *Metrics) DecrementActiveConns()
func (*Metrics) GetHealthStats ¶
func (m *Metrics) GetHealthStats() HealthStats
func (*Metrics) HealthHandler ¶
func (m *Metrics) HealthHandler() http.HandlerFunc
func (*Metrics) HealthWSHandler ¶
func (m *Metrics) HealthWSHandler() http.HandlerFunc
HealthWSHandler returns an HTTP handler that upgrades to WebSocket and pushes HealthStats snapshots every 3 seconds. An immediate snapshot is sent on connection so the client never has to wait for the first tick.
func (*Metrics) IncrementActiveConns ¶
func (m *Metrics) IncrementActiveConns()
func (*Metrics) ObserveDBLatency ¶
func (*Metrics) RecordIngestion ¶
func (*Metrics) SetActiveConnections ¶
func (*Metrics) SetDLQSize ¶
func (*Metrics) StartRuntimeMetrics ¶
func (m *Metrics) StartRuntimeMetrics()
StartRuntimeMetrics samples Go runtime stats every 15 seconds.
Click to show internal directories.
Click to hide internal directories.