diff --git a/database/database.go b/database/database.go index bb73bc5..5e65e31 100644 --- a/database/database.go +++ b/database/database.go @@ -71,7 +71,6 @@ func New(cfg config.Database) Database { } type db struct { - Database // metrics is the list of metric name (as a key) associated with their usage based on the different collector activated. // This struct is our "database". metrics map[string]*v1.Metric @@ -115,6 +114,8 @@ type db struct { partialMetricsUsageMutex sync.Mutex } +var _ = Database(&db{}) + func (d *db) DeleteMetric(name string) bool { d.metricsMutex.Lock() defer d.metricsMutex.Unlock() diff --git a/source/grafana/grafana.go b/source/grafana/grafana.go index 7446129..aa38603 100644 --- a/source/grafana/grafana.go +++ b/source/grafana/grafana.go @@ -71,13 +71,14 @@ func NewCollector(db database.Database, cfg config.GrafanaCollector) (async.Simp } type grafanaCollector struct { - async.SimpleTask metricUsageClient *usageclient.Client grafanaURL string grafanaClient *grafanaapi.GrafanaHTTPAPI logger *logrus.Entry } +var _ async.SimpleTask = &grafanaCollector{} + func (c *grafanaCollector) Execute(ctx context.Context, _ context.CancelFunc) error { hits, err := c.collectAllDashboardUID(ctx) if err != nil { diff --git a/source/labels/labels.go b/source/labels/labels.go index 690d4e0..8c3934e 100644 --- a/source/labels/labels.go +++ b/source/labels/labels.go @@ -51,7 +51,6 @@ func NewCollector(db database.Database, cfg *config.LabelsCollector) (async.Simp } type labelCollector struct { - async.SimpleTask promClient v1.API db database.Database metricUsageClient client.Client @@ -60,6 +59,8 @@ type labelCollector struct { logger *logrus.Entry } +var _ async.SimpleTask = &labelCollector{} + func (c *labelCollector) Execute(ctx context.Context, _ context.CancelFunc) error { now := time.Now() start := now.Add(time.Duration(-c.period)) diff --git a/source/metric/metric.go b/source/metric/metric.go index 77f755a..c91d634 100644 --- a/source/metric/metric.go +++ b/source/metric/metric.go @@ -40,13 +40,14 @@ func NewCollector(db database.Database, cfg config.MetricCollector) (async.Simpl } type metricCollector struct { - async.SimpleTask client v1.API db database.Database period model.Duration logger *logrus.Entry } +var _ async.SimpleTask = &metricCollector{} + func (c *metricCollector) Execute(ctx context.Context, _ context.CancelFunc) error { now := time.Now() start := now.Add(time.Duration(-c.period)) diff --git a/source/perses/perses.go b/source/perses/perses.go index 35e034d..64d430f 100644 --- a/source/perses/perses.go +++ b/source/perses/perses.go @@ -60,13 +60,14 @@ func NewCollector(db database.Database, cfg config.PersesCollector) (async.Simpl } type persesCollector struct { - async.SimpleTask persesClient persesClientV1.DashboardInterface metricUsageClient *usageclient.Client persesURL string logger *logrus.Entry } +var _ async.SimpleTask = &persesCollector{} + func (c *persesCollector) Execute(_ context.Context, _ context.CancelFunc) error { dashboards, err := c.persesClient.List("") if err != nil { diff --git a/source/rules/rules.go b/source/rules/rules.go index d5adc06..7a6002b 100644 --- a/source/rules/rules.go +++ b/source/rules/rules.go @@ -62,7 +62,6 @@ func NewCollector(db database.Database, cfg *config.RulesCollector) (async.Simpl } type rulesCollector struct { - async.SimpleTask promClient v1.API metricUsageClient *usageclient.Client promURL string @@ -70,6 +69,8 @@ type rulesCollector struct { retry uint } +var _ async.SimpleTask = &rulesCollector{} + func (c *rulesCollector) Execute(ctx context.Context, _ context.CancelFunc) error { result, err := c.getRules(ctx) if err != nil {