Skip to content

Commit e377ebd

Browse files
Merge pull request #1639 from ecordell/fix-metrics
fix(metrics): query cache for object count metrics
2 parents 663537d + 4a015b7 commit e377ebd

File tree

2 files changed

+18
-21
lines changed

2 files changed

+18
-21
lines changed

pkg/controller/operators/catalog/operator.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ func NewOperator(ctx context.Context, kubeconfigPath string, clock utilclock.Clo
175175
op.ipQueueSet.Set(metav1.NamespaceAll, ipQueue)
176176
ipQueueInformer, err := queueinformer.NewQueueInformer(
177177
ctx,
178-
queueinformer.WithMetricsProvider(metrics.NewMetricsInstallPlan(op.client)),
178+
queueinformer.WithMetricsProvider(metrics.NewMetricsInstallPlan(op.lister.OperatorsV1alpha1().InstallPlanLister())),
179179
queueinformer.WithLogger(op.logger),
180180
queueinformer.WithQueue(ipQueue),
181181
queueinformer.WithInformer(ipInformer.Informer()),
@@ -195,7 +195,7 @@ func NewOperator(ctx context.Context, kubeconfigPath string, clock utilclock.Clo
195195
op.catsrcQueueSet.Set(metav1.NamespaceAll, catsrcQueue)
196196
catsrcQueueInformer, err := queueinformer.NewQueueInformer(
197197
ctx,
198-
queueinformer.WithMetricsProvider(metrics.NewMetricsCatalogSource(op.client)),
198+
queueinformer.WithMetricsProvider(metrics.NewMetricsCatalogSource(op.lister.OperatorsV1alpha1().CatalogSourceLister())),
199199
queueinformer.WithLogger(op.logger),
200200
queueinformer.WithQueue(catsrcQueue),
201201
queueinformer.WithInformer(catsrcInformer.Informer()),
@@ -237,7 +237,7 @@ func NewOperator(ctx context.Context, kubeconfigPath string, clock utilclock.Clo
237237
}
238238
subQueueInformer, err := queueinformer.NewQueueInformer(
239239
ctx,
240-
queueinformer.WithMetricsProvider(metrics.NewMetricsSubscription(op.client)),
240+
queueinformer.WithMetricsProvider(metrics.NewMetricsSubscription(op.lister.OperatorsV1alpha1().SubscriptionLister())),
241241
queueinformer.WithLogger(op.logger),
242242
queueinformer.WithQueue(subQueue),
243243
queueinformer.WithInformer(subInformer.Informer()),

pkg/metrics/metrics.go

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
package metrics
22

33
import (
4-
"context"
5-
64
"github.com/prometheus/client_golang/prometheus"
75
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
86
"k8s.io/apimachinery/pkg/labels"
97

108
olmv1alpha1 "github.com/operator-framework/api/pkg/operators/v1alpha1"
11-
"github.com/operator-framework/operator-lifecycle-manager/pkg/api/client/clientset/versioned"
129
v1alpha1 "github.com/operator-framework/operator-lifecycle-manager/pkg/api/client/listers/operators/v1alpha1"
1310
)
1411

@@ -45,54 +42,54 @@ func (m *metricsCSV) HandleMetrics() error {
4542
}
4643

4744
type metricsInstallPlan struct {
48-
client versioned.Interface
45+
lister v1alpha1.InstallPlanLister
4946
}
5047

51-
func NewMetricsInstallPlan(client versioned.Interface) MetricsProvider {
52-
return &metricsInstallPlan{client}
48+
func NewMetricsInstallPlan(lister v1alpha1.InstallPlanLister) MetricsProvider {
49+
return &metricsInstallPlan{lister}
5350
}
5451

5552
func (m *metricsInstallPlan) HandleMetrics() error {
56-
cList, err := m.client.OperatorsV1alpha1().InstallPlans(metav1.NamespaceAll).List(context.TODO(), metav1.ListOptions{})
53+
cList, err := m.lister.InstallPlans(metav1.NamespaceAll).List(labels.Everything())
5754
if err != nil {
5855
return err
5956
}
60-
installPlanCount.Set(float64(len(cList.Items)))
57+
installPlanCount.Set(float64(len(cList)))
6158
return nil
6259
}
6360

6461
type metricsSubscription struct {
65-
client versioned.Interface
62+
lister v1alpha1.SubscriptionLister
6663
}
6764

68-
func NewMetricsSubscription(client versioned.Interface) MetricsProvider {
69-
return &metricsSubscription{client}
65+
func NewMetricsSubscription(lister v1alpha1.SubscriptionLister) MetricsProvider {
66+
return &metricsSubscription{lister}
7067
}
7168

7269
func (m *metricsSubscription) HandleMetrics() error {
73-
cList, err := m.client.OperatorsV1alpha1().Subscriptions(metav1.NamespaceAll).List(context.TODO(), metav1.ListOptions{})
70+
cList, err := m.lister.Subscriptions(metav1.NamespaceAll).List(labels.Everything())
7471
if err != nil {
7572
return err
7673
}
77-
subscriptionCount.Set(float64(len(cList.Items)))
74+
subscriptionCount.Set(float64(len(cList)))
7875
return nil
7976
}
8077

8178
type metricsCatalogSource struct {
82-
client versioned.Interface
79+
lister v1alpha1.CatalogSourceLister
8380
}
8481

85-
func NewMetricsCatalogSource(client versioned.Interface) MetricsProvider {
86-
return &metricsCatalogSource{client}
82+
func NewMetricsCatalogSource(lister v1alpha1.CatalogSourceLister) MetricsProvider {
83+
return &metricsCatalogSource{lister}
8784

8885
}
8986

9087
func (m *metricsCatalogSource) HandleMetrics() error {
91-
cList, err := m.client.OperatorsV1alpha1().CatalogSources(metav1.NamespaceAll).List(context.TODO(), metav1.ListOptions{})
88+
cList, err := m.lister.CatalogSources(metav1.NamespaceAll).List(labels.Everything())
9289
if err != nil {
9390
return err
9491
}
95-
catalogSourceCount.Set(float64(len(cList.Items)))
92+
catalogSourceCount.Set(float64(len(cList)))
9693
return nil
9794
}
9895

0 commit comments

Comments
 (0)