RFR(XL): 8199712: Flight Recorder
erik.joelsson at oracle.com
Thu Apr 26 16:03:39 UTC 2018
Should linking to the -lkstat library be conditional on jfr feature
being set, or perhaps it doesn't matter that much. In that case, adding
the library could be done in JvmFeatures.gmk instead.
On 2018-04-26 02:45, Magnus Ihse Bursie wrote:
> On 2018-04-25 13:06, Erik Gahlin wrote:
>> Could I have a review of 8199712: Flight Recorder
>> As mentioned in the preview  the tracing backend has been removed.
>> Event metadata has been consolidated into a single XML file and event
>> classes are now generated by GenerateJfrFiles.java.
>> Tests have been run on Linux-x64, Windows-x64 and MaxOSX-x64.
>> For details about the feature, see the JEP:
> Hi Erik,
> When posting build changes (files in "make/*"), please always include
> build-dev. Thanks! :-)
> This review is for build changes only.
> * make/RunTestsPrebuiltSpec.gmk: This file has only a copyright year
> change. It can be reverted.
> * make/copy/Copy-jdk.jfr.gmk:
> COPY_HOTSPOT_TRACE_FILES should be renamed to something like
> The second part is better off rewritten using SetupCopyFiles.
> Something like this, written on-the-fly, so might not work. (Email me
> privately if it does not work and you need help.)
> JFR_CONF_DIR := $(TOPDIR)/src/jdk.jfr/share/conf/jfr
> $(eval $(call SetupCopyFiles, COPY_JFR_CONF, \
> DEST := $(LIB_DST_DIR)/jfr, \
> FILES := $(wildcard $(JFR_CONF_DIR)/*.jfc), \
> FLATTEN := true, \
> TARGETS += $(COPY_JFR_CONF)
> * make/autoconf/hotspot.m4:
> It's a bit unfortunate with the --enable-jfr option. Ideally, this
> should be handled only as a JVM feature (--with-jvm-features=jfr). Try
> this piece of code instead: (Not tested, but should work.)
> diff --git a/make/autoconf/hotspot.m4 b/make/autoconf/hotspot.m4
> --- a/make/autoconf/hotspot.m4
> +++ b/make/autoconf/hotspot.m4
> @@ -26,7 +26,7 @@
> # All valid JVM features, regardless of platform
> VALID_JVM_FEATURES="compiler1 compiler2 zero minimal dtrace jvmti
> jvmci \
> graal vm-structs jni-check services management all-gcs nmt cds \
> - static-build link-time-opt aot"
> + static-build link-time-opt aot jfr"
> # All valid JVM variants
> VALID_JVM_VARIANTS="server client minimal core zero custom"
> @@ -313,6 +313,11 @@
> AC_MSG_ERROR([Specified JVM feature 'vm-structs' requires feature
> + # Enable JFR by default, except on linux-sparcv9 and on minimal.
> + if test "x$OPENJDK_TARGET_OS" != xlinux || test
> "x$OPENJDK_TARGET_CPU" != xsparcv9; then
> + NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES jfr"
> + fi
> # Turn on additional features based on other parts of configure
> if test "x$INCLUDE_DTRACE" = "xtrue"; then
> JVM_FEATURES="$JVM_FEATURES dtrace"
> Otherwise, build changes look good!
>> Erik and Markus
More information about the build-dev