Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 2 additions & 7 deletions go/vt/vttablet/tabletserver/vstreamer/engine.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ type Engine struct {

// vstreamer metrics
vstreamerPhaseTimings *servenv.TimingsWrapper
vstreamerCount *stats.Gauge
vstreamerEventsStreamed *stats.Counter
vstreamerPacketSize *stats.GaugeFunc
vstreamerNumPackets *stats.Counter
Expand Down Expand Up @@ -115,6 +116,7 @@ func NewEngine(env tabletenv.Env, ts srvtopo.Server, se *schema.Engine, lagThrot
vschemaUpdates: env.Exporter().NewCounter("VSchemaUpdates", "Count of VSchema updates. Does not include errors"),

vstreamerPhaseTimings: env.Exporter().NewTimings("VStreamerPhaseTiming", "Time taken for different phases during vstream copy", "phase-timing"),
vstreamerCount: env.Exporter().NewGauge("VStreamerCount", "Current number of vstreamers"),
vstreamerEventsStreamed: env.Exporter().NewCounter("VStreamerEventsStreamed", "Count of events streamed in VStream API"),
vstreamerPacketSize: env.Exporter().NewGaugeFunc("VStreamPacketSize", "Max packet size for sending vstreamer events", getPacketSize),
vstreamerNumPackets: env.Exporter().NewCounter("VStreamerNumPackets", "Number of packets in vstreamer"),
Expand All @@ -126,7 +128,6 @@ 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
}
Expand Down Expand Up @@ -376,12 +377,6 @@ 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)
}
6 changes: 5 additions & 1 deletion go/vt/vttablet/tabletserver/vstreamer/vstreamer.go
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,11 @@ func (vs *vstreamer) Cancel() {
func (vs *vstreamer) Stream() error {
//defer vs.cancel()
ctx := context.Background()
defer ctx.Done()
vs.vse.vstreamerCount.Add(1)
defer func() {
ctx.Done()
vs.vse.vstreamerCount.Add(-1)
}()
vs.vse.vstreamersCreated.Add(1)
log.Infof("Starting Stream() with startPos %s", vs.startPos)
pos, err := mysql.DecodePosition(vs.startPos)
Expand Down