From b66630df74d35f4df182bbef0924fc3a98e4a35e Mon Sep 17 00:00:00 2001 From: Xe Iaso Date: Wed, 22 Apr 2026 19:15:22 -0400 Subject: [PATCH] fix(metrics): properly surface errors with the metrics server Signed-off-by: Xe Iaso --- lib/metrics/metrics.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/metrics/metrics.go b/lib/metrics/metrics.go index 7edb6251..5aad62cf 100644 --- a/lib/metrics/metrics.go +++ b/lib/metrics/metrics.go @@ -21,10 +21,16 @@ type Server struct { Log *slog.Logger } -func (s *Server) Run(ctx context.Context, done func()) error { +func (s *Server) Run(ctx context.Context, done func()) { defer done() lg := s.Log.With("subsystem", "metrics") + if err := s.run(ctx, lg); err != nil { + lg.Error("can't serve metrics server", "err", err) + } +} + +func (s *Server) run(ctx context.Context, lg *slog.Logger) error { mux := http.NewServeMux() mux.HandleFunc("GET /debug/pprof/", pprof.Index) mux.HandleFunc("GET /debug/pprof/cmdline", pprof.Cmdline)