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.

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

Commit messages:
 - 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=00
  Issue: https://bugs.openjdk.org/browse/JDK-8241678
  Stats: 864 lines in 23 files changed: 158 ins; 652 del; 54 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

Reply via email to