From f0fdaff0a517627a9d4d159a155efc871172a793 Mon Sep 17 00:00:00 2001 From: Feng Honglin Date: Wed, 3 May 2023 18:35:05 +0200 Subject: [PATCH 1/2] Fix the issue that the debug server with port 5001 run twice When configuring bugsnag, bugsnag will fork the process, resulting the port 5001 listened twice. The PR fix this error by moving the initialization of prometheus server after the configuration of bugsnag Signed-off-by: Honglin Feng (cherry picked from commit 5a6a2d6ae06453136f5e1cfb5e9efa20c27085d9) Signed-off-by: Derek McGowan Signed-off-by: David van der Spek --- registry/registry.go | 43 +++++++++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/registry/registry.go b/registry/registry.go index 15eb94109..8e67f7b64 100644 --- a/registry/registry.go +++ b/registry/registry.go @@ -100,33 +100,17 @@ var ServeCmd = &cobra.Command{ cmd.Usage() os.Exit(1) } - - if config.HTTP.Debug.Addr != "" { - go func(addr string) { - logrus.Infof("debug server listening %v", addr) - if err := http.ListenAndServe(addr, nil); err != nil { - logrus.Fatalf("error listening on debug interface: %v", err) - } - }(config.HTTP.Debug.Addr) - } - registry, err := NewRegistry(ctx, config) if err != nil { logrus.Fatalln(err) } - if config.HTTP.Debug.Prometheus.Enabled { - path := config.HTTP.Debug.Prometheus.Path - if path == "" { - path = "/metrics" - } - logrus.Info("providing prometheus metrics on ", path) - http.Handle(path, metrics.Handler()) - } + configureDebugServer(config) if err = registry.ListenAndServe(); err != nil { logrus.Fatalln(err) } + }, } @@ -318,6 +302,29 @@ func (registry *Registry) ListenAndServe() error { } } +func configureDebugServer(config *configuration.Configuration) { + if config.HTTP.Debug.Addr != "" { + go func(addr string) { + log.Infof("debug server listening %v", addr) + if err := http.ListenAndServe(addr, nil); err != nil { + log.Fatalf("error listening on debug interface: %v", err) + } + }(config.HTTP.Debug.Addr) + configurePrometheus(config) + } +} + +func configurePrometheus(config *configuration.Configuration) { + if config.HTTP.Debug.Prometheus.Enabled { + path := config.HTTP.Debug.Prometheus.Path + if path == "" { + path = "/metrics" + } + log.Info("providing prometheus metrics on ", path) + http.Handle(path, metrics.Handler()) + } +} + func configureReporting(app *handlers.App) http.Handler { var handler http.Handler = app From 99a8ad00ea69094f4e0a41173df59e908ef6eae7 Mon Sep 17 00:00:00 2001 From: David van der Spek Date: Wed, 3 May 2023 18:56:17 +0200 Subject: [PATCH 2/2] fix: rename log to logrus Signed-off-by: David van der Spek --- registry/registry.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/registry/registry.go b/registry/registry.go index 8e67f7b64..0890287ec 100644 --- a/registry/registry.go +++ b/registry/registry.go @@ -110,7 +110,6 @@ var ServeCmd = &cobra.Command{ if err = registry.ListenAndServe(); err != nil { logrus.Fatalln(err) } - }, } @@ -305,9 +304,9 @@ func (registry *Registry) ListenAndServe() error { func configureDebugServer(config *configuration.Configuration) { if config.HTTP.Debug.Addr != "" { go func(addr string) { - log.Infof("debug server listening %v", addr) + logrus.Infof("debug server listening %v", addr) if err := http.ListenAndServe(addr, nil); err != nil { - log.Fatalf("error listening on debug interface: %v", err) + logrus.Fatalf("error listening on debug interface: %v", err) } }(config.HTTP.Debug.Addr) configurePrometheus(config) @@ -320,7 +319,7 @@ func configurePrometheus(config *configuration.Configuration) { if path == "" { path = "/metrics" } - log.Info("providing prometheus metrics on ", path) + logrus.Info("providing prometheus metrics on ", path) http.Handle(path, metrics.Handler()) } }