-
Notifications
You must be signed in to change notification settings - Fork 168
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
Add Hotspot Safepoint metrics #979
Conversation
Looks like |
261c5be
to
6c4d28a
Compare
f510d17
to
3527fb7
Compare
@brharrington realized this is much simpler if I we just use toolchains. Build changes moved to a separate commit before the hotspot metrics - see what you think. |
Thanks, I have started looking at it and should be able to go through it in detail later today. |
I refactored it a bit to model as timers: brharrington@6eff138, doesn't look like I can push to the PR branch. Anyway let me know what you think. I'm going to build a version of the jar and run it on some test instances over the weekend. |
That's awesome, thanks @brharrington! Really have to work on my Spectator foo, I never seem to get this right the first time :) |
Closing in favor of #980 |
Add hotspot safepoint metrics to help identify when safepoints and safepoint sync times are a problem. Unfortunately this relies on a propriety API, but there's no other way of getting at this at runtime on JDK 8 through latest. JFR event streams are JDK 15 and later for instance, and this is so much simpler. Some background here:
https://mail.openjdk.org/pipermail/serviceability-dev/2021-June/038222.html
This came up in the context of issue with I/O bound GC pauses on JDK 17:
https://twitter.com/DannyThomas/status/1546758318492102657
While I was at it, I went looking for any other causes of safepoint I/O latency and issues with safepoint sync times, and I can think of several places where we could be affected not only by that, but time-to-safepoint effective pauses where we're in JNI, etc: