Worth to mention that we were also contemplating about the inclusion of jfr-convert so a user can also convert raw JFR files to e.g. HTML with heatmaps but we evaluated that it is not necessary. Sure, it would be comfortable, but ultimately not needed. Conversion of such a file via nodetool, on server side, is just not a good idea, it is not a job of a server to convert anything.
In majority of cases, people using the profiler just want to get a HTML with cpu / allocation profile, it can even gather JFR files as such and fetch it is, it is just that the conversion as such can happen on client's side instead. I am +1 for introducing the core async profiler library only. On Wed, Dec 10, 2025 at 5:46 PM Bernardo Botella <[email protected]> wrote: > > Hi everyone! > > I’d like to propose adding the async-profiler library to the Cassandra > project. This will enable us to add a new nodetool command to do profiling > tasks on the process running Cassandra. This information can be useful to > debug a wide range of potential issues and performance optimizations. > CASSANDRA-20854 captures the effort and the details of the proposal, and this > PR proposes its implementation. > > I want to note that this feature was already discussed in this thread, and > this one only want to make sure that no one has any concerns about adding the > library as a dependency. > > What is async-profiler? > async-profiler is a low overhead sampling profiler for Java that does not > suffer from the Safepoint bias problem. It features HotSpot-specific API to > collect stack traces and to track memory allocations. The profiler works with > OpenJDK and other Java runtimes based on the HotSpot JVM. > > Unlike traditional Java profilers, async-profiler monitors non-Java threads > (e.g., GC and JIT compiler threads) and shows native and kernel frames in > stack traces. > > What can be profiled: > > CPU time > Allocations in Java Heap > Native memory allocations and leaks > Contended locks > Hardware and software performance counters like cache misses, page faults, > context switches > and more. > > > We propose to add async-profiler 4.2 as a dependency to Cassandra. > > Any concerns? > Bernardo
