diff --git a/pkg/telemetry/events.go b/pkg/telemetry/events.go index fa6257173..657ea69e8 100644 --- a/pkg/telemetry/events.go +++ b/pkg/telemetry/events.go @@ -216,6 +216,7 @@ func (t *telemetryService) ParticipantLeft(ctx context.Context, "participant", participant.Identity, "participantID", participant.Sid, "worker", worker, + "guard", guard, ) } } diff --git a/pkg/telemetry/statsworker.go b/pkg/telemetry/statsworker.go index 2271c3e9f..21da5240a 100644 --- a/pkg/telemetry/statsworker.go +++ b/pkg/telemetry/statsworker.go @@ -18,6 +18,7 @@ import ( "context" "sync" "time" + "unsafe" "go.uber.org/zap/zapcore" "google.golang.org/protobuf/types/known/timestamppb" @@ -32,6 +33,17 @@ type ReferenceGuard struct { activated, released bool } +func (r *ReferenceGuard) MarshalLogObject(e zapcore.ObjectEncoder) error { + if r != nil { + e.AddUintptr("self", uintptr(unsafe.Pointer(r))) + e.AddBool("activated", r.activated) + e.AddBool("released", r.released) + } + return nil +} + +// ---------------------------------------- + type ReferenceCount struct { count int }