"The OpenTelemetry Java agent is fully production ready, as are the (mostly free) vendor implementations of the collector, the operator, the eBPF profiler"
"Memory leaks in Java don't always come from bad code, the garbage collector only cleans what's unreachable. Your job is to design for reachability. Know your lifecycles. Watch your references. Fix your architecture to eliminate implementations that use leaky anti-patterns, eg. singleton holding mutable state, builder patterns where build() holds chains of built objects, decorators that keep alive the objects they decorate, dependency injection extending object lifetime, missing unsubscriptions."