RFR: JMC-7855: JFR Writer incorrectly uses epoch nanoseconds as the start ticks

Jaroslav Bachorik jbachorik at openjdk.org
Fri Jul 15 11:16:40 UTC 2022


Currently, the JFR recordings created by the JMC writer will have the start ticks set to the same value as the start timestamp. This will cause problems with the duration calculation which is using directly `System.nanoTime()` and as such the resulting value will be rather nonsensical.

This PR adds two new recording settings - `startTicks` and `duration` which can be used to write a JFR recording with correct values set. If the user does not set those settings `startTicks` will be set to the value of `System.nanoTime()` at the moment the recording is started (a `Recording` instance is created) and `duration` will be computed as a diff between the current value of `System.nanoTime()` and `startTicks`.

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

Commit messages:
 - JMC-7855: JFR Writer incorrectly uses epoch nanoseconds as the start ticks

Changes: https://git.openjdk.org/jmc/pull/412/files
 Webrev: https://webrevs.openjdk.org/?repo=jmc&pr=412&range=00
  Issue: https://bugs.openjdk.org/browse/JMC-7855
  Stats: 1119 lines in 15 files changed: 1108 ins; 0 del; 11 mod
  Patch: https://git.openjdk.org/jmc/pull/412.diff
  Fetch: git fetch https://git.openjdk.org/jmc pull/412/head:pull/412

PR: https://git.openjdk.org/jmc/pull/412


More information about the jmc-dev mailing list