RFR: 8342818: Implement CPU Time Profiling for JFR [v4]

Markus Grönlund mgronlun at openjdk.org
Thu Oct 31 10:06:48 UTC 2024


On Wed, 30 Oct 2024 19:34:23 GMT, Johannes Bechberger <jbechberger at openjdk.org> wrote:

>> This is the code for the [JEP draft: CPU Time based profiling for JFR].
>
> Johannes Bechberger has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Remove min_valid_free_size_bytes

src/hotspot/share/jfr/recorder/stacktrace/jfrAsyncStackTrace.cpp line 45:

> 43: 
> 44: bool JfrAsyncStackTrace::record_async(JavaThread* jt, const frame& frame) {
> 45:   NoHandleMark nhm;

Stack: [0x00007f02ff2f4000,0x00007f02ff3f4000],  sp=0x00007f02ff3ed8e0,  free space=998k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0xdf5649]  HandleArea::allocate_null_handle()+0x179  (handles.cpp:46)
V  [libjvm.so+0xc5259a]  RegisterMap::RegisterMap(JavaThread*, RegisterMap::UpdateMap, RegisterMap::ProcessFrames, RegisterMap::WalkContinuation)+0xaa  (frame.cpp:75)
V  [libjvm.so+0xf9ffb9]  JfrVframeStream::JfrVframeStream(JavaThread*, frame const&, bool, bool)+0x59  (jfrStackTrace.cpp:160)
V  [libjvm.so+0xf0940c]  JfrAsyncStackTrace::record_async(JavaThread*, frame const&)+0xac  (jfrAsyncStackTrace.cpp:58)
V  [libjvm.so+0xf0be3d]  JfrCPUTimeThreadSampler::handle_timer_signal(void*)+0x4fd  (jfrCPUTimeThreadSampler.cpp:231)
V  [libjvm.so+0xf0bf7f]  handle_timer_signal(int, siginfo*, void*)+0x4f  (jfrCPUTimeThreadSampler.cpp:723)

NoHandleMark will not work with with continuations. Please see how we do it in JfrStackTrace::record()

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/20752#discussion_r1824190841


More information about the hotspot-dev mailing list