From 70041f004f6e50aa87a19a35cf9fd421ac7cb01b Mon Sep 17 00:00:00 2001 From: Paul Wells Date: Thu, 20 Apr 2023 03:27:41 -0700 Subject: [PATCH] create signalStats from out of order join (#1640) --- pkg/routing/signal.go | 4 +--- pkg/service/rtcservice.go | 8 ++++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/pkg/routing/signal.go b/pkg/routing/signal.go index 0c1ac576b..3338f7235 100644 --- a/pkg/routing/signal.go +++ b/pkg/routing/signal.go @@ -185,9 +185,7 @@ func CopySignalStreamToMessageChannel[SendType, RecvType RelaySignalMessage]( for msg := range stream.Channel() { res, err := r.Read(msg) if err != nil { - if errors.Is(err, ErrSignalMessageDropped) { - prometheus.MessageCounter.WithLabelValues("signal", "failure").Add(1) - } + prometheus.MessageCounter.WithLabelValues("signal", "failure").Add(1) return err } diff --git a/pkg/service/rtcservice.go b/pkg/service/rtcservice.go index 16639c9d5..cd6bc93da 100644 --- a/pkg/service/rtcservice.go +++ b/pkg/service/rtcservice.go @@ -302,6 +302,14 @@ func (s *RTCService) ServeHTTP(w http.ResponseWriter, r *http.Request) { pLogger.Debugw("sending answer", "answer", m) } + if pi.ID == "" && res.GetJoin() != nil { + pi.ID = livekit.ParticipantID(res.GetJoin().GetParticipant().GetSid()) + signalStats = telemetry.NewBytesTrackStats( + telemetry.BytesTrackIDForParticipantID(telemetry.BytesTrackTypeSignal, pi.ID), + pi.ID, + s.telemetry) + } + if count, err := sigConn.WriteResponse(res); err != nil { pLogger.Warnw("error writing to websocket", err) return