Populate data track loggers with context (#4514)

This commit is contained in:
Raja Subramanian
2026-05-09 10:14:48 +05:30
committed by GitHub
parent 12fff29a12
commit 20d4a3a168
2 changed files with 20 additions and 18 deletions
+7 -5
View File
@@ -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)
}
}
+13 -13
View File
@@ -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) {