diff --git a/go/vt/vttablet/tabletserver/vstreamer/engine.go b/go/vt/vttablet/tabletserver/vstreamer/engine.go index 0a6c92d53ee..c4782b467c4 100644 --- a/go/vt/vttablet/tabletserver/vstreamer/engine.go +++ b/go/vt/vttablet/tabletserver/vstreamer/engine.go @@ -126,6 +126,7 @@ func NewEngine(env tabletenv.Env, ts srvtopo.Server, se *schema.Engine, lagThrot vstreamersEndedWithErrors: env.Exporter().NewCounter("VStreamersEndedWithErrors", "Count of vstreamers that ended with errors"), errorCounts: env.Exporter().NewCountersWithSingleLabel("VStreamerErrors", "Tracks errors in vstreamer", "type", "Catchup", "Copy", "Send", "TablePlan"), } + env.Exporter().NewGaugeFunc("VStreamerCount", "Current number of vstreamers", vse.getVStreamerCount) env.Exporter().HandleFunc("/debug/tablet_vschema", vse.ServeHTTP) return vse } @@ -375,6 +376,12 @@ func (vse *Engine) setWatch() { }) } +func (vse *Engine) getVStreamerCount() int64 { + vse.mu.Lock() + defer vse.mu.Unlock() + return int64(len(vse.streamers)) +} + func getPacketSize() int64 { return int64(*defaultPacketSize) }