Skip to main content

Supported runtimes

Coralogix Continuous Profiling supports a broad set of native and managed runtimes through the OpenTelemetry eBPF profiler. The matrix below summarizes supported versions and available profile types. Expand a language for symbolization details, runtime caveats, and troubleshooting.

Supported runtimes

LanguageTypeVersionsProfile typesSymbol uploadNotes
JVM (Java, Scala, Kotlin)ManagedJDK 7 - JDK 25CPU, Memory❌ No
Node.jsManaged14.x - 23.xCPU, Memory❌ NoARM64 requires Node 16+
PythonManaged3.6 - 3.14CPU❌ No
.NETManaged6.0 - 10CPU❌ No
RubyManaged2.5 - 4.0CPU❌ No
PHPManaged7.3 - 8.4CPU❌ No
PerlManaged5.28 - 5.42CPU❌ No
GoNativeCPU, Memory❌ No (embedded)Memory via net/http/pprof scraping
RustNativeCPU✅ Yes
C/C++NativeCPU✅ Yes
ZigNativeCPU✅ Yes

Native binaries (Rust, C/C++, Zig) require debug symbols to be uploaded to Coralogix for human-readable stack traces — see Upload debug symbols. Go binaries embed their symbols and are symbolized automatically. Memory profiles are available for JVM services through the Async Profiler, for Node.js services through the Coralogix OpenTelemetry profiling SDK, and for Go services by scraping the runtime's net/http/pprof endpoints — see Monitor memory consumption.

Language-specific reference

Next steps

Learn how to visualize and analyze CPU usage across your services in Monitor CPU consumption.

Last updated on