--- old/src/share/classes/java/net/SocketOutputStream.java 2012-11-13 10:47:57.000000000 +0100 +++ new/src/share/classes/java/net/SocketOutputStream.java 2012-11-13 10:47:56.000000000 +0100 @@ -30,6 +30,9 @@ import java.io.IOException; import java.nio.channels.FileChannel; +import sun.misc.IoTrace; +import sun.misc.IoTraceContext; + /** * This stream extends FileOutputStream to implement a * SocketOutputStream. Note that this class should NOT be @@ -104,9 +107,12 @@ throw new ArrayIndexOutOfBoundsException(); } + IoTraceContext traceContext = IoTrace.socketWriteBegin(impl.address, impl.port); + int bytesWritten = 0; FileDescriptor fd = impl.acquireFD(); try { socketWrite0(fd, b, off, len); + bytesWritten = len; } catch (SocketException se) { if (se instanceof sun.net.ConnectionResetException) { impl.setConnectionResetPending(); @@ -119,6 +125,7 @@ } } finally { impl.releaseFD(); + IoTrace.socketWriteEnd(traceContext, bytesWritten); } }