-
Notifications
You must be signed in to change notification settings - Fork 5.8k
8356968: JFR: Compilation event should be enabled for all compilations by default #25247
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
base: master
Are you sure you want to change the base?
Conversation
👋 Welcome back shade! A progress list of the required criteria for merging this PR into |
❗ This change is not yet ready to be integrated. |
The overhead of the event is low, I believe, but I think the concern was that too many events were generated with little value to the end user. The buffers will be filled, and other, more important events will be pushed out. That said, there are probably other JVM events, i.e., low-level GC or runtime events, that are on by default, which may be less interesting than the compilation event.
Maybe we should reprioritize them? |
I can see that. But the neat part about compilation events is that we are supposed to have a limited number of them. As system goes into steady state, compilations are supposed to become very rare. And if they are not, that is actually a signal something is really off, and we do want to know :)
I think current overheads are fair. For example, on javac HelloWorld workload,
|
In the field, we are using -XX:+PrintCompilation to track compiler performance. Alternatively, -Xlog:jit* prints the same. JFR has a the related jdk.Compilation event that gives us even richer diagnostics. Yet, that event is set at a very high threshold (1000ms), which skips almost all compilations! This threshold is set to such a high value from the beginning.
It is fairly normal to have lots of compilations in 100+ ms range individually, and their sum impact is what we are after. Also, the compilations are normally quite rare, and there are a couple of thousands of compiles in most workloads, and they only happen sporadically. This means, the event count without any threshold is not high.
Therefore, it would be convenient to make sure that basic Compilation event is enabled unconditionally, e.g. by dropping the default threshold to 0.
See more logs in the bug itself.
Additional testing:
jdk_jfr
Progress
Issue
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/25247/head:pull/25247
$ git checkout pull/25247
Update a local copy of the PR:
$ git checkout pull/25247
$ git pull https://git.openjdk.org/jdk.git pull/25247/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 25247
View PR using the GUI difftool:
$ git pr show -t 25247
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/25247.diff
Using Webrev
Link to Webrev Comment