diff --git a/ebpftracer/l7/http2.go b/ebpftracer/l7/http2.go index 79270a4..d9be66b 100644 --- a/ebpftracer/l7/http2.go +++ b/ebpftracer/l7/http2.go @@ -107,7 +107,13 @@ const ( // Max concurrent HTTP/2 streams tracked per connection. // Prevents unbounded memory growth when responses never complete (orphan // streams); at the limit the oldest stream makes way (evictOldestRequest). - maxActiveRequests = 100 + // It must exceed what one connection legitimately carries: gRPC clients + // multiplex long-polls (workflow and job-queue workers' polls, which get + // no response headers until the poll returns, up to a minute later) by + // the hundred over one connection, and at 100 live polls were evicted. + // Orphans are still reclaimed by the stream GC (http2DecoderGcInterval); + // a request costs ~200 bytes, so a full table is ~200 KB. + maxActiveRequests = 1000 ) type Http2FrameHeader struct {