Preliminary review: Adding tracing of I/O calls

Mandy Chung mandy.chung at
Fri Nov 2 20:12:33 UTC 2012

Hi Staffan,

On 11/2/2012 11:36 AM, Staffan Larsen wrote:
> This is a preliminary review request for adding an API for tracing I/O calls. For now, this is an empty infrastructure intended to enable diagnosing/tracing of i/o calls. A user of the API can register a listener and get callbacks for read and write operations on sockets and files. It does not (yet) cover asynchronous i/o calls. When not used, the implementation should add a minimum of overhead. To provide useful information to the user, FileInputStream, FileOutputStream and RandomAccessFile have been modified to keep track of the path they operate on (when available).
> Webrev:

This looks okay to me.

Minor comments:
sun/misc/ L36: should it be volatile in case another thread 
is setting to another listener?

The *Begin() methods return a "handle" that will be passed to the *End() 
methods.  Have you considered to define a type for it rather than Object?

Do you have any performance measurement result that you can share?  As 
for the unit tests, I know you have tests written for the feature that 
implements the listeners.  I wonder if it's worth adding some sanity 
tests along with this change?


> Feedback is most welcome,
> /Staffan

More information about the core-libs-dev mailing list