On Tue, 13 May 2025 14:20:48 GMT, Casper Norrbin <cnorr...@openjdk.org> wrote:

>> Hi everyone,
>> 
>> This change removes the legacy `PerfData` sampling mechanism implemented 
>> through the `StatSampler` — an always-on periodic task that runs every 50ms 
>> my default. The sampling feature was originally introduced to collect 
>> performance counters and timestamps, but has since seen very little use.
>> 
>> For G1/ZGC, the only sampled value is a timestamp (`sun.os.hrt.ticks`). For 
>> Serial/Parallel, it also samples some heap space counters, but these are 
>> already updated after each GC cycle, making the sampling redundant. With 
>> sampling removed, the `PerfDataSamplingInterval` flag becomes obsoleted, as 
>> it no longer serves any purpose.
>> 
>> The only thing relying on the sampled timestamps is `jstat`: running `jstat 
>> -t` prints an extra column with the time since VM start. To preserve this 
>> funcitonality, we can calculate the timestamps as an offset from the already 
>> existing `sun.rt.createVmBeginTime` instead.
>
> Casper Norrbin has updated the pull request with a new target base due to a 
> merge or a rebase. The incremental webrev excludes the unrelated changes 
> brought in by the merge/rebase. The pull request contains six additional 
> commits since the last revision:
> 
>  - removed last traces of hrt.ticks
>  - Merge branch 'master' into statsampler-removal
>  - feedback fixes
>  - removed the PerfDataSamplingInterval flag
>  - calculate timestamp in jstat instead of sampling
>  - StatSampler + sampling code removed

All of this looks good to me.

It seems like there's no user-visible change, except the removal of the global 
variable. Is that correct?

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

Marked as reviewed by jsjolen (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/24872#pullrequestreview-2857814078

Reply via email to