[11u] [JFR] RFR(XXL) 8226511: Implement JFR Event Streaming

Martijn Verburg martijnverburg at gmail.com
Fri Mar 20 22:56:18 UTC 2020


Adopt Binaries would be easy to produce as long as folks were happy pulling
them from a GitHub binary repo (as opposed to our main API)
Cheers,
Martijn


On Fri, 20 Mar 2020 at 16:06, Ben Evans <bevans at newrelic.com> wrote:

> 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