RFR: 8342818: Implement JEP 509: JFR CPU-Time Profiling [v5]

Markus Grönlund mgronlun at openjdk.org
Sat May 24 17:50:52 UTC 2025


On Sat, 24 May 2025 15:19:52 GMT, Markus Grönlund <mgronlun at openjdk.org> wrote:

>> Johannes Bechberger has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Fix compilation
>
> src/hotspot/share/jfr/support/jfrThreadLocal.hpp line 103:
> 
>> 101:   volatile CPUTimeLockState _cpu_time_jfr_locked = UNLOCKED;
>> 102:   volatile bool _has_cpu_time_jfr_requests = false;
>> 103:   JfrCPUTimeTraceQueue _cpu_time_jfr_queue{0};
> 
> Please initialize these fields in the initializer list, like the other fields.
> 
> Also, what capacity will the JfrCPUTimeTraceQueue have with an initializer like the above - {0}? In GDB i see that the capacity is 10000. Each element is 48 bytes, meaning each thread now has an associated queue of 468 kb, almost 0.5 Mb. Is that correct?

I see that JfrCPUTimeTraceQueue::ensure_capacity_for_period() calculates and sets the queue size as a function of the sampling period (in my case its 1 ms).

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

PR Review Comment: https://git.openjdk.org/jdk/pull/25302#discussion_r2105893436


More information about the hotspot-jfr-dev mailing list