policer: Allow to provide metrics from the outside #735
2 changed files with 12 additions and 0 deletions
|
@ -3,3 +3,7 @@ package policer
|
||||||
type MetricsRegister interface {
|
type MetricsRegister interface {
|
||||||
IncProcessedObjects()
|
IncProcessedObjects()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type noopMetrics struct{}
|
||||||
|
|
||||||
|
func (noopMetrics) IncProcessedObjects() {}
|
||||||
|
|
|
@ -81,6 +81,7 @@ func defaultCfg() *cfg {
|
||||||
rebalanceFreq: 1 * time.Second,
|
rebalanceFreq: 1 * time.Second,
|
||||||
sleepDuration: 1 * time.Second,
|
sleepDuration: 1 * time.Second,
|
||||||
evictDuration: 30 * time.Second,
|
evictDuration: 30 * time.Second,
|
||||||
|
metrics: noopMetrics{},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -172,3 +173,10 @@ func WithPool(p *ants.Pool) Option {
|
||||||
c.taskPool = p
|
c.taskPool = p
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WithMetrics returns option to set metrics.
|
||||||
|
func WithMetrics(m MetricsRegister) Option {
|
||||||
|
return func(c *cfg) {
|
||||||
|
c.metrics = m
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue