From 20d4a3a16862c7a0187b3452965bc5fca09b62d2 Mon Sep 17 00:00:00 2001 From: Raja Subramanian Date: Sat, 9 May 2026 10:14:48 +0530 Subject: [PATCH] Populate data track loggers with context (#4514) --- pkg/rtc/datadowntrack.go | 12 +++++++----- pkg/rtc/datatrack.go | 26 +++++++++++++------------- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/pkg/rtc/datadowntrack.go b/pkg/rtc/datadowntrack.go index 098f9405e..1cc94e35c 100644 --- a/pkg/rtc/datadowntrack.go +++ b/pkg/rtc/datadowntrack.go @@ -37,6 +37,7 @@ type DataDownTrackParams struct { type DataDownTrack struct { params DataDownTrackParams + logger logger.Logger createdAt int64 } @@ -45,18 +46,19 @@ func NewDataDownTrack(params DataDownTrackParams) (*DataDownTrack, error) { params: params, createdAt: time.Now().UnixNano(), } + d.logger = params.Logger.WithValues("name", d.Name(), "handle", d.Handle()) if err := d.params.PublishDataTrack.AddDataDownTrack(d); err != nil { - d.params.Logger.Warnw("could not add data down track", err) + d.logger.Warnw("could not add data down track", err) return nil, err } - d.params.Logger.Infow("created data down track", "name", d.Name()) + d.logger.Infow("created data down track") return d, nil } func (d *DataDownTrack) Close() { - d.params.Logger.Infow("closing data down track", "name", d.Name()) + d.logger.Infow("closing data down track") d.params.PublishDataTrack.DeleteDataDownTrack(d.SubscriberID()) } @@ -86,11 +88,11 @@ func (d *DataDownTrack) WritePacket(data []byte, packet *datatrack.Packet, _arri forwardedPacket.Handle = d.params.Handle buf, err := forwardedPacket.Marshal() if err != nil { - d.params.Logger.Warnw("could not marshal data track message", err) + d.logger.Warnw("could not marshal data track message", err) return } if err := d.params.Transport.SendDataTrackMessage(buf); err != nil { - d.params.Logger.Warnw("could not send data track message", err, "handle", d.params.Handle) + d.logger.Warnw("could not send data track message", err) } } diff --git a/pkg/rtc/datatrack.go b/pkg/rtc/datatrack.go index 575e5e890..878fbbba9 100644 --- a/pkg/rtc/datatrack.go +++ b/pkg/rtc/datatrack.go @@ -42,6 +42,8 @@ type DataTrackParams struct { type DataTrack struct { params DataTrackParams + logger logger.Logger + lock sync.Mutex dti *livekit.DataTrackInfo subscribedTracks map[livekit.ParticipantID]types.DataDownTrack @@ -58,21 +60,19 @@ func NewDataTrack(params DataTrackParams, dti *livekit.DataTrackInfo) *DataTrack params: params, dti: dti, subscribedTracks: make(map[livekit.ParticipantID]types.DataDownTrack), - downTrackSpreader: sfuutils.NewDownTrackSpreader[types.DataTrackSender](sfuutils.DownTrackSpreaderParams{ - Threshold: 20, - Logger: params.Logger, - }), - stats: newDataTrackStats(dataTrackStatsParams{Logger: params.Logger}), } - d.params.Logger.Infow("created data track", - "name", d.Name(), - "uses_e2ee", d.dti.Encryption != livekit.Encryption_NONE, - ) + d.logger = params.Logger.WithValues("name", d.Name(), "handle", dti.PubHandle) + d.downTrackSpreader = sfuutils.NewDownTrackSpreader[types.DataTrackSender](sfuutils.DownTrackSpreaderParams{ + Threshold: 20, + Logger: d.logger, + }) + d.stats = newDataTrackStats(dataTrackStatsParams{Logger: d.logger}) + d.logger.Infow("created data track", "dataTrackInfo", logger.Proto(d.dti)) return d } func (d *DataTrack) Close() { - d.params.Logger.Infow("closing data track", "name", d.Name()) + d.logger.Infow("closing data track") d.closed.Break() d.stats.Close() @@ -150,17 +150,17 @@ func (d *DataTrack) AddDataDownTrack(dts types.DataTrackSender) error { } if d.downTrackSpreader.HasDownTrack(dts.SubscriberID()) { - d.params.Logger.Infow("subscriberID already exists, replacing data downtrack", "subscriberID", dts.SubscriberID()) + d.logger.Infow("subscriberID already exists, replacing data downtrack", "subscriberID", dts.SubscriberID()) } d.downTrackSpreader.Store(dts) - d.params.Logger.Infow("data downtrack added", "subscriberID", dts.SubscriberID()) + d.logger.Infow("data downtrack added", "subscriberID", dts.SubscriberID()) return nil } func (d *DataTrack) DeleteDataDownTrack(subscriberID livekit.ParticipantID) { d.downTrackSpreader.Free(subscriberID) - d.params.Logger.Infow("data downtrack deleted", "subscriberID", subscriberID) + d.logger.Infow("data downtrack deleted", "subscriberID", subscriberID) } func (d *DataTrack) HandlePacket(data []byte, packet *datatrack.Packet, arrivalTime int64) {