diff --git a/server/schedule/filter/counter.go b/server/schedule/filter/counter.go index 783eabfe6f7..7c29659facf 100644 --- a/server/schedule/filter/counter.go +++ b/server/schedule/filter/counter.go @@ -183,6 +183,11 @@ func NewCounter(scope string) *Counter { return &Counter{counter: counter, scope: scope} } +// SetScope sets the scope for the counter. +func (c *Counter) SetScope(scope string) { + c.scope = scope +} + // Add adds the filter counter. func (c *Counter) inc(action action, filterType filterType, sourceID uint64, targetID uint64) { if _, ok := c.counter[action][filterType][sourceID]; !ok { diff --git a/server/schedulers/balance_leader.go b/server/schedulers/balance_leader.go index 209b94feb82..17f84368efb 100644 --- a/server/schedulers/balance_leader.go +++ b/server/schedulers/balance_leader.go @@ -231,6 +231,13 @@ func WithBalanceLeaderName(name string) BalanceLeaderCreateOption { } } +// WithBalanceLeaderFilterCounterName sets the filter counter name for the scheduler. +func WithBalanceLeaderFilterCounterName(name string) BalanceLeaderCreateOption { + return func(s *balanceLeaderScheduler) { + s.filterCounter.SetScope(name) + } +} + func (l *balanceLeaderScheduler) GetName() string { return l.name } diff --git a/server/schedulers/balance_region.go b/server/schedulers/balance_region.go index b71ccc082f5..ded1a69cfaf 100644 --- a/server/schedulers/balance_region.go +++ b/server/schedulers/balance_region.go @@ -119,6 +119,13 @@ func WithBalanceRegionName(name string) BalanceRegionCreateOption { } } +// WithBalanceRegionFilterCounterName sets the filter counter name for the scheduler. +func WithBalanceRegionFilterCounterName(name string) BalanceRegionCreateOption { + return func(s *balanceRegionScheduler) { + s.filterCounter.SetScope(name) + } +} + func (s *balanceRegionScheduler) GetName() string { return s.conf.Name } diff --git a/server/schedulers/scatter_range.go b/server/schedulers/scatter_range.go index 5d4d7fd6891..419355f9da3 100644 --- a/server/schedulers/scatter_range.go +++ b/server/schedulers/scatter_range.go @@ -165,12 +165,14 @@ func newScatterRangeScheduler(opController *schedule.OperatorController, config &balanceLeaderSchedulerConfig{Ranges: []core.KeyRange{core.NewKeyRange("", "")}}, WithBalanceLeaderName("scatter-range-leader"), WithBalanceLeaderCounter(scatterRangeLeaderCounter), + WithBalanceLeaderFilterCounterName("scatter-range-leader"), ), balanceRegion: newBalanceRegionScheduler( opController, &balanceRegionSchedulerConfig{Ranges: []core.KeyRange{core.NewKeyRange("", "")}}, WithBalanceRegionName("scatter-range-region"), WithBalanceRegionCounter(scatterRangeRegionCounter), + WithBalanceRegionFilterCounterName("scatter-range-region"), ), } return scheduler