-
Notifications
You must be signed in to change notification settings - Fork 6k
8241678: Remove PerfData sampling via StatSampler #24872
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
👋 Welcome back cnorrbin! A progress list of the required criteria for merging this PR into |
@caspernorrbin This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 95 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. As you do not have Committer status in this project an existing Committer must agree to sponsor your change. Possible candidates are the reviewers of this PR (@albertnetymk, @jdksjolen) but any other Committer may sponsor as well. ➡️ To flag this PR as ready for integration with the above commit message, type |
@caspernorrbin The following labels will be automatically applied to this pull request:
When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing lists. If you would like to change these labels, use the /label pull request command. |
/cc hotspot-gc |
@albertnetymk |
Webrevs
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are still a few matches for "hrt.ticks"; don't know if they should be removed (in this PR or a followup).
Thank you for reviewing @albertnetymk! I'll look into the last traces of "hrt.ticks" to see if they can be removed here. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed only hotspot
changes. Not familiar with other parts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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?
@caspernorrbin this pull request can not be integrated into git checkout statsampler-removal
git fetch https://git.openjdk.org/jdk.git master
git merge FETCH_HEAD
# resolve conflicts and follow the instructions given by git merge
git commit -m "Merge master"
git push |
Besides the global variable, there's a slight change in the behaviour of the perfdata-counters for Serial/Parallel, as mentioned in the PR. The JBS issue has a clarifying comment explaining why this shouldn't have any meaningful impact. |
Hi, looks good. $ jcmd 203133 PerfCounter.print | grep hrt |
Thank you. I will add that to the release note, along with text on how to calculate it instead using offsets (similar to what I did with the jstat counter) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the review, @kevinjwalls. Let's integrate it :-).
Thank you everyone for the reviews! /integrate |
@caspernorrbin |
/sponsor |
Going to push as commit 6ebae6c.
Your commit was automatically rebased without conflicts. |
@albertnetymk @caspernorrbin Pushed as commit 6ebae6c. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
Hi everyone,
This change removes the legacy
PerfData
sampling mechanism implemented through theStatSampler
— 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, thePerfDataSamplingInterval
flag becomes obsoleted, as it no longer serves any purpose.The only thing relying on the sampled timestamps is
jstat
: runningjstat -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 existingsun.rt.createVmBeginTime
instead.Progress
Issues
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/24872/head:pull/24872
$ git checkout pull/24872
Update a local copy of the PR:
$ git checkout pull/24872
$ git pull https://git.openjdk.org/jdk.git pull/24872/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 24872
View PR using the GUI difftool:
$ git pr show -t 24872
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/24872.diff
Using Webrev
Link to Webrev Comment