forked from influxdata/influxdb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathretention_service.go
38 lines (31 loc) · 936 Bytes
/
retention_service.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package mock
import (
"github.com/prometheus/client_golang/prometheus"
"go.uber.org/zap"
)
type RetentionService struct {
WithLoggerFn func(l *zap.Logger)
OpenFn func() error
CloseFn func() error
PrometheusCollectorsFn func() []prometheus.Collector
}
func NewRetentionService() *RetentionService {
return &RetentionService{
WithLoggerFn: func(_ *zap.Logger) {},
OpenFn: func() error { return nil },
CloseFn: func() error { return nil },
PrometheusCollectorsFn: func() []prometheus.Collector { return nil },
}
}
func (s *RetentionService) WithLogger(log *zap.Logger) {
s.WithLoggerFn(log)
}
func (s *RetentionService) Open() error {
return s.OpenFn()
}
func (s *RetentionService) Close() error {
return s.CloseFn()
}
func (s *RetentionService) PrometheusCollectors() []prometheus.Collector {
return s.PrometheusCollectorsFn()
}