From 26d21b20712ae39aa52fd8f15b00f877057af268 Mon Sep 17 00:00:00 2001 From: Pascal Fischer Date: Wed, 14 May 2025 10:30:05 +0200 Subject: [PATCH] add return and fix error logging --- signal/server/signal.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/signal/server/signal.go b/signal/server/signal.go index bb11ee347..dd9b13bfa 100644 --- a/signal/server/signal.go +++ b/signal/server/signal.go @@ -29,10 +29,11 @@ const ( labelTypeStream = "stream" labelTypeMessage = "message" - labelError = "error" - labelErrorMissingId = "missing_id" - labelErrorMissingMeta = "missing_meta" - labelErrorFailedHeader = "failed_header" + labelError = "error" + labelErrorMissingId = "missing_id" + labelErrorMissingMeta = "missing_meta" + labelErrorFailedHeader = "failed_header" + labelErrorFailedRegistration = "failed_registration" labelRegistrationStatus = "status" labelRegistrationFound = "found" @@ -139,7 +140,12 @@ func (s *Server) RegisterPeer(stream proto.SignalExchange_ConnectStreamServer) ( p := peer.NewPeer(id[0], stream) s.registry.Register(p) - s.dispatcher.ListenForMessages(stream.Context(), p.Id, s.forwardMessageToPeer) + err := s.dispatcher.ListenForMessages(stream.Context(), p.Id, s.forwardMessageToPeer) + if err != nil { + s.metrics.RegistrationFailures.Add(stream.Context(), 1, metric.WithAttributes(attribute.String(labelError, labelErrorFailedRegistration))) + log.Errorf("error while registering message listener for peer [%s] %v", p.Id, err) + return nil, status.Errorf(codes.Internal, "error while registering message listener") + } return p, nil }