package metrics import ( "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promauto" ) // 看板 RPC 指标 var ( DashboardRPCTotal = promauto.NewCounterVec(prometheus.CounterOpts{ Name: "dashboard_rpc_total", Help: "Dashboard RPC total calls", }, []string{"rpc", "status"}) DashboardRPCDuration = promauto.NewHistogramVec(prometheus.HistogramOpts{ Name: "dashboard_rpc_duration_seconds", Help: "Dashboard RPC duration", Buckets: prometheus.DefBuckets, }, []string{"rpc"}) DashboardCacheHitRate = promauto.NewGauge(prometheus.GaugeOpts{ Name: "dashboard_cache_hit_rate", Help: "Dashboard cache hit rate (0-1)", }) ) // 事件采集指标 var ( EventTrackTotal = promauto.NewCounterVec(prometheus.CounterOpts{ Name: "event_track_total", Help: "Event track total", }, []string{"event_type", "result"}) // result: accepted/rejected EventChannelSize = promauto.NewGauge(prometheus.GaugeOpts{ Name: "event_channel_size", Help: "Event channel current size", }) EventChannelCapacity = promauto.NewGauge(prometheus.GaugeOpts{ Name: "event_channel_capacity", Help: "Event channel capacity", }) EventDroppedTotal = promauto.NewCounter(prometheus.CounterOpts{ Name: "event_dropped_total", Help: "Total events dropped (channel full)", }) EventDBInsertTotal = promauto.NewCounterVec(prometheus.CounterOpts{ Name: "event_db_insert_total", Help: "Event DB insert total", }, []string{"status"}) // status: success/failed ) // 物化视图指标 var ( MVRefreshTotal = promauto.NewCounterVec(prometheus.CounterOpts{ Name: "mv_refresh_total", Help: "Materialized view refresh total", }, []string{"mv_name", "status"}) MVRefreshDuration = promauto.NewHistogramVec(prometheus.HistogramOpts{ Name: "mv_refresh_duration_seconds", Help: "MV refresh duration", Buckets: prometheus.DefBuckets, }, []string{"mv_name"}) ) // Worker 指标 var ( WorkerRunningCount = promauto.NewGaugeVec(prometheus.GaugeOpts{ Name: "worker_running_count", Help: "Worker running count (0/1)", }, []string{"worker_name"}) ) // 分区管理指标 var ( EventsPartitionCount = promauto.NewGauge(prometheus.GaugeOpts{ Name: "events_partition_count", Help: "Current events partition count", }) )