From 2e4ccd25779f24c86876a315b2e40b9e9c1a02ae Mon Sep 17 00:00:00 2001 From: shishirng Date: Tue, 21 Dec 2021 15:35:27 -0500 Subject: [PATCH] Send client sdk type when participant joins in telemetry (#275) Signed-off-by: shishir gowda --- pkg/service/roommanager.go | 2 +- pkg/telemetry/telemetryservice.go | 2 +- pkg/telemetry/telemetryserviceevents.go | 4 +++- pkg/telemetry/test/telemetry_service_test.go | 3 ++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/pkg/service/roommanager.go b/pkg/service/roommanager.go index 3992ed61a..9e84b1295 100644 --- a/pkg/service/roommanager.go +++ b/pkg/service/roommanager.go @@ -273,7 +273,7 @@ func (r *RoomManager) StartSession(ctx context.Context, roomName string, pi rout } } - r.telemetry.ParticipantJoined(ctx, room.Room, participant.ToProto()) + r.telemetry.ParticipantJoined(ctx, room.Room, participant.ToProto(), pi.Client) participant.OnClose(func(p types.Participant) { if err := r.roomStore.DeleteParticipant(ctx, roomName, p.Identity()); err != nil { pLogger.Errorw("could not delete participant", err) diff --git a/pkg/telemetry/telemetryservice.go b/pkg/telemetry/telemetryservice.go index 1ba2de1e9..00333ebdd 100644 --- a/pkg/telemetry/telemetryservice.go +++ b/pkg/telemetry/telemetryservice.go @@ -24,7 +24,7 @@ type TelemetryService interface { // events RoomStarted(ctx context.Context, room *livekit.Room) RoomEnded(ctx context.Context, room *livekit.Room) - ParticipantJoined(ctx context.Context, room *livekit.Room, participant *livekit.ParticipantInfo) + ParticipantJoined(ctx context.Context, room *livekit.Room, participant *livekit.ParticipantInfo, clientInfo *livekit.ClientInfo) ParticipantLeft(ctx context.Context, room *livekit.Room, participant *livekit.ParticipantInfo) TrackPublished(ctx context.Context, participantID string, track *livekit.TrackInfo) TrackUnpublished(ctx context.Context, participantID string, track *livekit.TrackInfo, ssrc uint32) diff --git a/pkg/telemetry/telemetryserviceevents.go b/pkg/telemetry/telemetryserviceevents.go index 9eb52ed10..f41d96623 100644 --- a/pkg/telemetry/telemetryserviceevents.go +++ b/pkg/telemetry/telemetryserviceevents.go @@ -43,7 +43,8 @@ func (t *telemetryService) RoomEnded(ctx context.Context, room *livekit.Room) { }) } -func (t *telemetryService) ParticipantJoined(ctx context.Context, room *livekit.Room, participant *livekit.ParticipantInfo) { +func (t *telemetryService) ParticipantJoined(ctx context.Context, room *livekit.Room, + participant *livekit.ParticipantInfo, clientInfo *livekit.ClientInfo) { t.Lock() t.workers[participant.Sid] = newStatsWorker(ctx, t, room.Sid, room.Name, participant.Sid) t.Unlock() @@ -62,6 +63,7 @@ func (t *telemetryService) ParticipantJoined(ctx context.Context, room *livekit. RoomSid: room.Sid, Participant: participant, Room: room, + SdkType: clientInfo.GetSdk(), }) } diff --git a/pkg/telemetry/test/telemetry_service_test.go b/pkg/telemetry/test/telemetry_service_test.go index 8aae16621..1ba0bd4c6 100644 --- a/pkg/telemetry/test/telemetry_service_test.go +++ b/pkg/telemetry/test/telemetry_service_test.go @@ -29,8 +29,9 @@ func Test_TelemetryService_Downstream_Stats(t *testing.T) { room := &livekit.Room{} partSID := "part1" + clientInfo := &livekit.ClientInfo{Sdk: 2} participantInfo := &livekit.ParticipantInfo{Sid: partSID} - fixture.sut.ParticipantJoined(context.Background(), room, participantInfo) + fixture.sut.ParticipantJoined(context.Background(), room, participantInfo, clientInfo) totalBytes := 33 fixture.sut.OnDownstreamPacket(partSID, totalBytes)