[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-nio-dev
Subject:    Re: RFR: 8308995: Update Network IO JFR events to be static mirror events [v4]
From:       Tim Prinzing <tprinzing () openjdk ! org>
Date:       2023-06-28 18:53:12
Message-ID: uUxluubquQBnTajSZknVjiobTmhBskIvKKH2pKqBMMo=.f9a9e863-fb77-423c-8f17-86caa99804b7 () github ! com
[Download RAW message or body]

> The socket read/write JFR events currently use instrumentation of java.base code \
> using templates in the jdk.jfr modules. This results in some java.base code \
> residing in the jdk.jfr module which is undesirable. 
> JDK19 added static support for event classes. The old instrumentor classes should \
> be replaced with mirror events using the static support. 
> In the java.base module:
> Added two new events, jdk.internal.event.SocketReadEvent and \
> jdk.internal.event.SocketWriteEvent. java.net.Socket and \
> sun.nio.ch.SocketChannelImpl were changed to make use of the new events. 
> In the jdk.jfr module:
> jdk.jfr.events.SocketReadEvent and jdk.jfr.events.SocketWriteEvent were changed to \
> be mirror events. In the package jdk.jfr.internal.instrument, the classes \
> SocketChannelImplInstrumentor, SocketInputStreamInstrumentor, and \
> SocketOutputStreamInstrumentor were removed. The JDKEvents class was updated to \
> reflect all of those changes. 
> The existing tests in test/jdk/jdk/jfr/event/io continue to pass with the new \
>                 implementation:
> Passed: jdk/jfr/event/io/TestSocketChannelEvents.java
> Passed: jdk/jfr/event/io/TestSocketEvents.java
> 
> I added a micro benchmark which measures the overhead of handling the jfr socket \
> events. test/micro/org/openjdk/bench/java/net/SocketEventOverhead.java.
> It needs access the jdk.internal.event package, which is done at runtime with \
> annotations that add the extra arguments. At compile time the build arguments had \
> to be augmented in make/test/BuildMicrobenchmark.gmk

Tim Prinzing has updated the pull request incrementally with one additional commit \
since the last revision:

  less exception filtering when fetching socket read timeout

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/14342/files
  - new: https://git.openjdk.org/jdk/pull/14342/files/27a766c7..d6f7df72

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=14342&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=14342&range=02-03

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/14342.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14342/head:pull/14342

PR: https://git.openjdk.org/jdk/pull/14342


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic