From 286add2ce09395bafc9465ebd3e2c2ef8e3007e1 Mon Sep 17 00:00:00 2001 From: Ti Chi Robot Date: Fri, 26 Apr 2024 14:19:42 +0800 Subject: [PATCH] scheduler: fix scatter counter name (#8124) (#8126) close tikv/pd#8125 Signed-off-by: husharp Co-authored-by: husharp --- pkg/schedule/filter/counter.go | 5 +++++ pkg/schedule/schedulers/balance_leader.go | 7 +++++++ pkg/schedule/schedulers/balance_region.go | 7 +++++++ pkg/schedule/schedulers/scatter_range.go | 2 ++ 4 files changed, 21 insertions(+) diff --git a/pkg/schedule/filter/counter.go b/pkg/schedule/filter/counter.go index 0120ef5b666..b897169697f 100644 --- a/pkg/schedule/filter/counter.go +++ b/pkg/schedule/filter/counter.go @@ -188,6 +188,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/pkg/schedule/schedulers/balance_leader.go b/pkg/schedule/schedulers/balance_leader.go index 6769a78d502..73fef718bad 100644 --- a/pkg/schedule/schedulers/balance_leader.go +++ b/pkg/schedule/schedulers/balance_leader.go @@ -212,6 +212,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/pkg/schedule/schedulers/balance_region.go b/pkg/schedule/schedulers/balance_region.go index 8b014a42067..47cf3fa16ef 100644 --- a/pkg/schedule/schedulers/balance_region.go +++ b/pkg/schedule/schedulers/balance_region.go @@ -103,6 +103,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/pkg/schedule/schedulers/scatter_range.go b/pkg/schedule/schedulers/scatter_range.go index 8ca06ed50d8..cc95b614fb3 100644 --- a/pkg/schedule/schedulers/scatter_range.go +++ b/pkg/schedule/schedulers/scatter_range.go @@ -139,12 +139,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