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