Re: [11u] [JFR] RFR(XXL) 8226511: Implement JFR Event Streaming
Denghui Dong
denghui.ddh at alibaba-inc.com
Sat Mar 21 11:55:21 UTC 2020
Hi Ben,
You can apply the patch to 11u directly.
And if you want to test JFR Streaming on 8u, I can provide
the patchset(includes some prerequisite fixes).
Thanks,
Denghui Dong
------------------------------------------------------------------
From:Ben Evans <bevans at newrelic.com>
Send Time:2020年3月21日(星期六) 00:06
To:董登辉(卓昂) <denghui.ddh at alibaba-inc.com>; Martijn Verburg <martijn.verburg at microsoft.com>
Cc:jdk-updates-dev at openjdk.java.net <jdk-updates-dev at openjdk.java.net>
Subject:Re: [11u] [JFR] RFR(XXL) 8226511: Implement JFR Event Streaming
Hi Denghui,
This looks very interesting - thanks for your work so far.
How can we get started with it? Could we follow a similar model that used to backport JFR (file) to OpenJDK 8 - by starting with a separate repo?
Martijn - how difficult would it be to have AdoptOpenJDK build binaries from a separate 11u-jfr-streaming repo, if we were to do that?
Cheers,
Ben
On Thu, Mar 19, 2020 at 7:15 AM Denghui Dong <denghui.ddh at alibaba-inc.com> wrote:
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