Skip to content

Commit 599a46e

Browse files
committed
feat(controllers): export cached/uncached images metrics
1 parent 87a5559 commit 599a46e

File tree

2 files changed

+39
-0
lines changed

2 files changed

+39
-0
lines changed

controllers/cachedimage_controller.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ func (r *CachedImageReconciler) Reconcile(ctx context.Context, req ctrl.Request)
6565
return ctrl.Result{}, err
6666
}
6767
r.Recorder.Eventf(&cachedImage, "Normal", "CleanedUp", "Image %s successfully removed from cache", cachedImage.Spec.SourceImage)
68+
IncImageRemovedFromCache()
6869

6970
log.Info("removing finalizer")
7071
controllerutil.RemoveFinalizer(&cachedImage, finalizerName)
@@ -123,6 +124,7 @@ func (r *CachedImageReconciler) Reconcile(ctx context.Context, req ctrl.Request)
123124
} else {
124125
log.Info("image cached")
125126
r.Recorder.Eventf(&cachedImage, "Normal", "Cached", "Successfully cached image %s", cachedImage.Spec.SourceImage)
127+
IncImagePutInCache()
126128
if err := r.Get(ctx, req.NamespacedName, &cachedImage); err != nil {
127129
return ctrl.Result{}, client.IgnoreNotFound(err)
128130
}

controllers/collector.go

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package controllers
2+
3+
import (
4+
"github.com/prometheus/client_golang/prometheus"
5+
"sigs.k8s.io/controller-runtime/pkg/metrics"
6+
)
7+
8+
var (
9+
imagePutInCache = prometheus.NewCounter(
10+
prometheus.CounterOpts{
11+
Name: "kube_image_keeper_image_put_in_cache",
12+
Help: "Number of images put in cache successfully",
13+
},
14+
)
15+
imageRemovedFromCache = prometheus.NewCounter(
16+
prometheus.CounterOpts{
17+
Name: "kube_image_keeper_image_removed_from_cache",
18+
Help: "Number of images removed from cache successfully",
19+
},
20+
)
21+
)
22+
23+
func init() {
24+
// Register custom metrics with the global prometheus registry
25+
metrics.Registry.MustRegister(
26+
imagePutInCache,
27+
imageRemovedFromCache,
28+
)
29+
}
30+
31+
func IncImagePutInCache() {
32+
imagePutInCache.Inc()
33+
}
34+
35+
func IncImageRemovedFromCache() {
36+
imageRemovedFromCache.Inc()
37+
}

0 commit comments

Comments
 (0)