> 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 pull request now contains seven commits: - Merge branch 'master' into statsampler-removal - 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 ------------- Changes: https://git.openjdk.org/jdk/pull/24872/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24872&range=03 Stats: 864 lines in 25 files changed: 150 ins; 655 del; 59 mod Patch: https://git.openjdk.org/jdk/pull/24872.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/24872/head:pull/24872 PR: https://git.openjdk.org/jdk/pull/24872