--- old/src/share/classes/sun/nio/ch/SocketAdaptor.java 2012-11-13 10:48:01.000000000 +0100 +++ new/src/share/classes/sun/nio/ch/SocketAdaptor.java 2012-11-13 10:48:01.000000000 +0100 @@ -34,6 +34,9 @@ import java.security.PrivilegedExceptionAction; import java.util.*; +import sun.misc.IoTrace; +import sun.misc.IoTraceContext; + // Make a socket channel look like a socket. // @@ -191,10 +194,12 @@ return sc.read(bb); sc.configureBlocking(false); + int n = 0; + IoTraceContext traceContext = IoTrace.socketReadBegin(getInetAddress(), getPort(), timeout); try { - int n; - if ((n = sc.read(bb)) != 0) + if ((n = sc.read(bb)) != 0) { return n; + } long to = timeout; for (;;) { if (!sc.isOpen()) @@ -210,6 +215,7 @@ throw new SocketTimeoutException(); } } finally { + IoTrace.socketReadEnd(traceContext, n > 0 ? n : 0); if (sc.isOpen()) sc.configureBlocking(true); }