From da84faf41f9ec951ec768fb30d6a0ba5723cb7b0 Mon Sep 17 00:00:00 2001 From: Paul Wells Date: Sat, 17 Jan 2026 04:24:45 -0800 Subject: [PATCH 1/3] add stack utility --- observability/agentsobs/gen_reporter.go | 2 +- observability/egressobs/gen_reporter.go | 2 +- observability/gatewayobs/gen_reporter.go | 2 +- observability/telephonyobs/gen_reporter.go | 2 +- utils/stack/stack.go | 25 ++++++++++++++++++++++ 5 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 utils/stack/stack.go diff --git a/observability/agentsobs/gen_reporter.go b/observability/agentsobs/gen_reporter.go index 4f3d80f91..6513e9200 100644 --- a/observability/agentsobs/gen_reporter.go +++ b/observability/agentsobs/gen_reporter.go @@ -6,7 +6,7 @@ import ( "time" ) -const Version_NOV7HC8 = true +const Version_1P0Q2E8 = true type KeyResolver interface { Resolve(string) diff --git a/observability/egressobs/gen_reporter.go b/observability/egressobs/gen_reporter.go index c33e0615a..d33fcda45 100644 --- a/observability/egressobs/gen_reporter.go +++ b/observability/egressobs/gen_reporter.go @@ -6,7 +6,7 @@ import ( "time" ) -const Version_A7A5178 = true +const Version_57DK1I8 = true type KeyResolver interface { Resolve(string) diff --git a/observability/gatewayobs/gen_reporter.go b/observability/gatewayobs/gen_reporter.go index a277bcf16..dfd3b4fc4 100644 --- a/observability/gatewayobs/gen_reporter.go +++ b/observability/gatewayobs/gen_reporter.go @@ -6,7 +6,7 @@ import ( "time" ) -const Version_8IGGP5O = true +const Version_J2LFGS0 = true type KeyResolver interface { Resolve(string) diff --git a/observability/telephonyobs/gen_reporter.go b/observability/telephonyobs/gen_reporter.go index 9a47e1b86..cea307e04 100644 --- a/observability/telephonyobs/gen_reporter.go +++ b/observability/telephonyobs/gen_reporter.go @@ -6,7 +6,7 @@ import ( "time" ) -const Version_TP5LDH8 = true +const Version_KU2K2VO = true type KeyResolver interface { Resolve(string) diff --git a/utils/stack/stack.go b/utils/stack/stack.go new file mode 100644 index 000000000..152342434 --- /dev/null +++ b/utils/stack/stack.go @@ -0,0 +1,25 @@ +package stack + +type Stack[T any] []T + +func (s Stack[T]) Empty() bool { + return len(s) == 0 +} + +func (s *Stack[T]) Reset() { + *s = (*s)[:0] +} + +func (s *Stack[T]) Push(v T) { + *s = append(*s, v) +} + +func (s *Stack[T]) Pop() T { + v := (*s)[len(*s)-1] + *s = (*s)[:len(*s)-1] + return v +} + +func (s Stack[T]) Peek() T { + return s[len(s)-1] +} From 5ba8b0ec9471b12805e0ef6185d5873f7b52dc34 Mon Sep 17 00:00:00 2001 From: Paul Wells Date: Sat, 17 Jan 2026 04:25:24 -0800 Subject: [PATCH 2/3] Create gold-fishes-smash.md --- .changeset/gold-fishes-smash.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/gold-fishes-smash.md diff --git a/.changeset/gold-fishes-smash.md b/.changeset/gold-fishes-smash.md new file mode 100644 index 000000000..bfcb43869 --- /dev/null +++ b/.changeset/gold-fishes-smash.md @@ -0,0 +1,5 @@ +--- +"@livekit/protocol": patch +--- + +add stack utility From 640940af2748ce82907ed65f886bdbc46705eb22 Mon Sep 17 00:00:00 2001 From: Paul Wells Date: Tue, 27 Jan 2026 21:39:47 -0800 Subject: [PATCH 3/3] wip --- observability/reporter.go | 10 ++++++++++ utils/closers.go | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/observability/reporter.go b/observability/reporter.go index b91b85771..cab781840 100644 --- a/observability/reporter.go +++ b/observability/reporter.go @@ -1,6 +1,9 @@ package observability import ( + "github.com/go-logr/logr" + + "github.com/livekit/protocol/logger" "github.com/livekit/protocol/observability/agentsobs" "github.com/livekit/protocol/observability/egressobs" "github.com/livekit/protocol/observability/gatewayobs" @@ -10,7 +13,10 @@ import ( const Project = "livekit" +var discardLogger = logger.LogRLogger(logr.Discard()) + type Reporter interface { + Logger(projectID string) (logger.Logger, error) Room() roomobs.Reporter Agent() agentsobs.Reporter Gateway() gatewayobs.Reporter @@ -28,6 +34,10 @@ func NewReporter() Reporter { type reporter struct{} +func (reporter) Logger(projectID string) (logger.Logger, error) { + return discardLogger, nil +} + func (reporter) Room() roomobs.Reporter { return roomobs.NewNoopReporter() } diff --git a/utils/closers.go b/utils/closers.go index b95f544ca..0c855fb0f 100644 --- a/utils/closers.go +++ b/utils/closers.go @@ -16,6 +16,7 @@ package utils import ( "io" + "slices" "go.uber.org/multierr" ) @@ -28,7 +29,7 @@ func CombineClosers(cs ...io.Closer) Closers { func (s *Closers) Close() error { var err error - for _, c := range *s { + for _, c := range slices.Backward(*s) { if c != nil { err = multierr.Append(err, c.Close()) }