Open jcpunk opened 5 days ago
When transforms are removed (https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/36351) the leak is drastically reduced (might be normal memory growth).
Pinging code owners for processor/transform: @TylerHelmuth @kentquirk @bogdandrutu @evan-bradley. See Adding Labels via Comments if you do not have permissions to add labels yourself. For example, comment '/label priority:p2 -needs-triaged' to set the priority and remove the needs-triaged label.
@jcpunk if possible, can you enable pprofextension and attach the memory profile?
Is there a particular profile you'd like me to extract? I'm not super familiar with go and pprof and there seem to be a lot of possible urls....
You can refer to README and enable the extension.
Then follow these steps:
curl http://localhost:1777/debug/pprof/heap > heap.0.pprof
curl http://localhost:1777/debug/pprof/heap > heap.1.pprof
Collect a few heap profiles and attach them.
pprof files attached here issue-36574.tar.gz
Describe the bug I've got an x86_64 system with 128 cores. The otel collector adds about 5Mib to its working memory every time it scrapes a metrics endpoint. Eventually it hits up against the
memorylimiter
but the garbage collection never seems to really make headway and eventually fails to reclaim enough memory.My identically configured systems with 8 or 16 x86_64 cores do not appear so leak in this manner. My aarch64 system with a similar config and with 64 cores does also appear to leak in this manner.
Steps to reproduce Run the otel-collector on a system with a lot of processing cores
What did you expect to see? Memory usage eventually stabilize
What did you see instead? Memory usage grows to fill space allotted - tested up to 4Gib (take 6 days)
What version did you use? otelcol-contrib version 0.114.0 (memory code is probably in the base collector)
What config did you use?
Environment OS: Almalinux 9 Platform: podman Podman Quadlet file: /etc/containers/systemd/otel-collector.container
Additional context endpoints:
logs