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
8277397: ZGC: Add JFR event for temporary latency measurements #6454
Conversation
/label hotspot-gc jfr |
|
@stefank The label
|
Webrevs
|
/label hotspot-gc hotspot-jfr |
@stefank The |
/label remove hotspot |
@stefank |
Retrying with correct labels. |
@stefank This change now passes all automated pre-integration checks. 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 79 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.
|
@@ -1034,6 +1034,11 @@ | |||
<Field type="string" name="name" label="Name" /> | |||
</Event> | |||
|
|||
<Event name="ZThreadEvent" category="Java Virtual Machine, GC, Detailed" label="ZGC Thread Event" thread="true" experimental="true"> |
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.
Can you add a description to the event?
For anyone coming from outside it would really help to understand what this event is supposed to represent.
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.
Great idea.
@@ -775,6 +775,11 @@ | |||
<setting name="threshold">0 ms</setting> | |||
</event> | |||
|
|||
<event name="jdk.ZThreadEvent"> |
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.
This is just a question - do we want/need to have this event enabled for the 'low overhead profiling' setup?
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.
Yes. I always use default.jfc. The profile.jfc is creating too many allocation related events to make it usable when running with ZGC. I know that there has been some plans to fix that, but I don't know if that made it into JDK 17 or not.
I discussed the naming of this event with @pliden, and we decided to rename it to make it more clear that this was only intended for debugging/development of ZGC. |
What's the overhead of this event being enabled in default.jfc with threshold=0? Do all users really need to have this experimental event enabled by default when running ZGC? |
The overhead should be virtually zero, since no event is sent. Having this turned off by default makes this feature more annoying to use. Is this causing problems for the users? |
Ah. So "debug" means only used in "development builds" of the VM? In that case, there is no problem. |
No, this is more likely to be used in release builds to identify and measure performance issues in ZGC. It is intended for us during debugging and development of various features in ZGC. |
Think of this similar to the UseNewCode flag. |
Thanks for reviewing! |
Going to push as commit 712b875.
Your commit was automatically rebased without conflicts. |
I often measure latencies and stalls using JFR events. I'd like to add an event that can be used for these ad-hoc measurements during development and debugging.
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk pull/6454/head:pull/6454
$ git checkout pull/6454
Update a local copy of the PR:
$ git checkout pull/6454
$ git pull https://git.openjdk.java.net/jdk pull/6454/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 6454
View PR using the GUI difftool:
$ git pr show -t 6454
Using diff file
Download this PR as a diff file:
https://git.openjdk.java.net/jdk/pull/6454.diff