diff --git a/pkg/metrics/metrics.go b/pkg/metrics/metrics.go index 482cdd7..dbffeeb 100644 --- a/pkg/metrics/metrics.go +++ b/pkg/metrics/metrics.go @@ -23,16 +23,23 @@ import ( ) // StartMetrics starts the server based on the metricsConfig provided by the user. -func StartMetrics(config metricsConfig) { +func StartMetrics(config metricsConfig) error { // Register metrics only when the metric list is provided by the operator + fmt.Println("REGISTERING METRICS") if config.collectorList != nil { - RegisterMetrics(config.collectorList) + err := RegisterMetrics(config.collectorList) + if err != nil { + log.Error(err, "Something") + return err + } } http.Handle(config.metricsPath, promhttp.Handler()) log.Info(fmt.Sprintf("Port: %s", config.metricsPort)) metricsPort := ":" + (config.metricsPort) go http.ListenAndServe(metricsPort, nil) + + return nil } // RegisterMetrics takes the list of metrics to be registered from the user and diff --git a/pkg/metrics/service.go b/pkg/metrics/service.go index 4e769fe..3d4a5ee 100644 --- a/pkg/metrics/service.go +++ b/pkg/metrics/service.go @@ -147,7 +147,11 @@ func GenerateRoute(s *v1.Service, path string) *routev1.Route { func ConfigureMetrics(ctx context.Context, userMetricsConfig metricsConfig) error { log.Info("Starting prometheus metrics") - StartMetrics(userMetricsConfig) + err := StartMetrics(userMetricsConfig) + if err != nil { + log.Info("Failed to register metrics", "Error", err.Error()) + return err + } client, err := createClient() if err != nil {