next up previous
Next: Implementation of management agent Up: Implementation of runtime architecture Previous: Measurement correlator

Instrumentation of JVM Libraries  

The proposed architecture requires the identification of every start and stop of a thread. To allow correlation of distributed transactions, the communication mechanisms must be instrumented as well. However, in our protoype, no instrumentation of inter-process communication has been done yet (it is planned to do so in future releases).

For identification of start and stop of threads, an instrumentation of the class java.lang.Thread was done. We used the freely available source code edition [#!java2cs!#] of the JVM for this purpose. Essentially, the method start of java.lang.Thread was instrumented to call addControlFlow whenever a new thread is started. As start is executed in the initiating thread, a correlation can easily be achieved.

Similarly, the method exit from java.lang.Thread, which is executed by the system whenever a thread ends, was instrumented to inform the measurement correlator via a call to removeControlFlow.

Copyright Munich Network Management Team