From c433fd633a084c52f7efd0155454564135fa5330 Mon Sep 17 00:00:00 2001 From: Tai Groot Date: Fri, 15 May 2026 17:12:08 -0400 Subject: [PATCH] perf: remove hot-path slog.Info from SSE event delivery (#2929) The sendEvent client helper and server SSE handler both eagerly fmt.Sprintf'd full event payloads on every event. During streaming this caused hundreds of allocations/sec per client, adding multi-second lag to the second connected instance. Assisted-by: Crush:AWS Claude Opus 4.6 --- internal/client/proto.go | 1 - internal/server/proto.go | 1 - 2 files changed, 2 deletions(-) diff --git a/internal/client/proto.go b/internal/client/proto.go index f444cfc04f1e185a4551d6ac43eae4d99f3a02ba..442a4f0f3a8ff90981ab90e24fcdcdd98adf4004 100644 --- a/internal/client/proto.go +++ b/internal/client/proto.go @@ -179,7 +179,6 @@ func (c *Client) SubscribeEvents(ctx context.Context, id string) (<-chan any, er } func sendEvent(ctx context.Context, evc chan any, ev any) { - slog.Info("Event received", "event", fmt.Sprintf("%T %+v", ev, ev)) select { case evc <- ev: case <-ctx.Done(): diff --git a/internal/server/proto.go b/internal/server/proto.go index af591173d64e4c56ae51964ca56fcfbbca9658a6..f30dade2c66fdd62a5caa4b80d29235ef2930c4a 100644 --- a/internal/server/proto.go +++ b/internal/server/proto.go @@ -218,7 +218,6 @@ func (c *controllerV1) handleGetWorkspaceEvents(w http.ResponseWriter, r *http.R if !ok { return } - c.server.logDebug(r, "Sending event", "event", fmt.Sprintf("%T %+v", ev.Payload, ev.Payload)) wrapped := wrapEvent(ev.Payload) if wrapped == nil { continue