[11u] [JFR] RFR(XXL) 8226511: Implement JFR Event Streaming
Denghui Dong
denghui.ddh at alibaba-inc.com
Thu Mar 19 06:14:02 UTC 2020
Hi team,
JDK 14 is now Generally Available, as one of the features, JFR Event Streaming is very attractive for us.
With JFR Event Streaming, we can more easily implement the continuous monitoring of Java application based on JFR in the container environment.
So I would like to backport JDK-8226511(Implement JFR Event Streaming) to 11u, please help us to review the patch.
Previously, we had a discussion at https://mail.openjdk.java.net/pipermail/jdk-updates-dev/2019-November/002169.html, there are many companies interested in this
Bug: https://bugs.openjdk.java.net/browse/JDK-8226511
Webrev: http://cr.openjdk.java.net/~ddong/11u-8226511/webrev.00
Test (release/slow-debug on Linux): All JFR Event Streaming passed, and other JFR tests have the same result with the build without this patch
The original patch is large, and cannot be applied to 11u directly
All files that cannot be derectly applied are as follows:
src/hotspot/share/gc/g1/g1Trace.cpp (dosn't exist in 11u)
src/hotspot/share/gc/shenandoah/shenandoahJfrSupport.cpp (dosn't exist in 11u)
test/jdk/jdk/jfr/event/metadata/TestLookForUntestedEvents.java (dosn't exist in 11u, introduced in JDK-8213914)
src/jdk.jfr/share/classes/jdk/jfr/internal/SecuritySupport.java
src/jdk.jfr/share/classes/jdk/jfr/internal/Repository.java
src/jdk.jfr/share/conf/jfr/profile.jfc
src/jdk.jfr/share/conf/jfr/default.jfc
src/hotspot/share/jfr/periodic/jfrPeriodic.cpp
src/hotspot/share/jfr/recorder/repository/jfrChunkState.hpp
src/hotspot/share/jfr/recorder/repository/jfrEmergencyDump.cpp
src/hotspot/share/jfr/recorder/repository/jfrRepository.cpp
src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp
src/hotspot/share/jfr/recorder/service/jfrPostBox.cpp
src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.cpp (ClassLoaderDataGraph_lock doesn't exist in 11u)
src/hotspot/share/jfr/recorder/checkpoint/types/jfrThreadState.hpp
src/hotspot/share/jfr/recorder/stacktrace/jfrStackTraceRepository.cpp
src/hotspot/share/jfr/recorder/storage/jfrVirtualMemory.cpp
src/hotspot/share/jfr/utilities/jfrTypes.hpp
src/hotspot/share/jfr/support/jfrThreadLocal.cpp
src/hotspot/share/jfr/metadata/metadata.xml
src/hotspot/share/runtime/mutexLocker.cpp
test/jdk/ProblemList.txt
Also, we want to backport some other related issues to 11u:
JDK-8233700: EventStream not closed
JDK-8229209: test for cross-process JFR event streaming
JDK-8234703: [TESTBUG] JFR TestOutOfProcessMigration.java should clean up files
JDK-8234684: JFR crashes when rotating the JFR output during assertion failure
JDK-8233870: JFR TestSetEndTime.java times out - onClose() is never called
JDK-8234888: EventStream::close doesn't abort streaming thread
JDK-8234671: JFR api/consumer/recordingstream/TestStart.java failed due to timeout at testStartTwice()
JDK-8235356: [TESTBUG] Disable 'producer is alive' check in JFR TestCrossProcessStreaming
JDK-8233111: Epoch shift synchronization point for Compiler threads
JDK-8234059: Stress test fails with "Unexpected Exception in thread JFR Event Stream"
JDK-8236264: Remove jdk.jfr.Recording::setFlushInterval and jdk.jfr.Recording::getFlushInterval
JDK-8236263: Remove experimental streaming events
Most of them can directly apply to 11u, except 8233111, 8234059 and 8236263
Cheers,
Denghui Dong
More information about the jdk-updates-dev
mailing list