@@ -50,6 +50,7 @@ import (
5050 "sigs.k8s.io/controller-runtime/pkg/healthz"
5151 "sigs.k8s.io/controller-runtime/pkg/log/zap"
5252 "sigs.k8s.io/controller-runtime/pkg/metrics"
53+ "time"
5354 // +kubebuilder:scaffold:imports
5455)
5556
@@ -209,6 +210,28 @@ func main() {
209210 deferredTGBQueue .Run ()
210211 }()
211212
213+ // TODO: we can better improve this to update the metrics per reconcile
214+ go func () {
215+ ticker := time .NewTicker (2 * time .Minute )
216+ defer ticker .Stop ()
217+
218+ for {
219+ select {
220+ case <- ticker .C :
221+ setupLog .Info ("updating managed resource metrics" )
222+ if err := lbcMetricsCollector .UpdateManagedK8sResourceMetrics (ctx ); err != nil {
223+ setupLog .Error (err , "failed to update managed Kubernetes resource metrics" )
224+ }
225+ if err := lbcMetricsCollector .UpdateManagedALBMetrics (ctx ); err != nil {
226+ setupLog .Error (err , "failed to update managed ALB metrics" )
227+ }
228+ if err := lbcMetricsCollector .UpdateManagedNLBMetrics (ctx ); err != nil {
229+ setupLog .Error (err , "failed to update managed NLB metrics" )
230+ }
231+ }
232+ }
233+ }()
234+
212235 if err := podInfoRepo .WaitForCacheSync (ctx ); err != nil {
213236 setupLog .Error (err , "problem wait for podInfo repo sync" )
214237 os .Exit (1 )
@@ -217,19 +240,6 @@ func main() {
217240 setupLog .Error (err , "problem running manager" )
218241 os .Exit (1 )
219242 }
220-
221- // update of the managed resource metrics
222- go func () {
223- if err := lbcMetricsCollector .UpdateManagedK8sResourceMetrics (ctx ); err != nil {
224- setupLog .Error (err , "failed to update managed Kubernetes resource metrics" )
225- }
226- if err := lbcMetricsCollector .UpdateManagedALBMetrics (ctx ); err != nil {
227- setupLog .Error (err , "failed to update managed ALB metrics" )
228- }
229- if err := lbcMetricsCollector .UpdateManagedNLBMetrics (ctx ); err != nil {
230- setupLog .Error (err , "failed to update managed NLB metrics" )
231- }
232- }()
233243}
234244
235245// loadControllerConfig loads the controller configuration.
0 commit comments