http://www.genady.net/rmi/v20/downloads.html
The new version features a greatly improved RMI Spy. Initially the RMI Spy was bound to the RMI logging infrastructure and would report all RMI events (method calls, classloading, etc) in a human readable form. That was a huge timesaver, but the new RMI Spy features in v2.0.2 make it even more exciting - from a simple spy it became a real 007!
RMI Spy new features
- Cool feature #1 - Timing. Do you know how long does it take to make a remote call? The RMI Spy will tell you. No more System.currentTimeMillis().
- Cool feature #2 - Data transfer. Do you know how much does serialization cost you? How big is that ArrayList of Objects that your server returns? The RMI Spy knows that too.
- Cool feature #3 - Highlighting. Can it highlight all these suspicious methods that take too much time to complete? Of course it can. Then, you can see the exact stack trace of where such method call took place.
- Cool feature #4 - Values! You call "String s = myRemoteServer.getStatus()". But what *is* the status? The RMI Spy will tell you about the values of all primitives, strings and URLs that are involved in a remote call.
(This new featurea are available for Java 5.0 and Java 6.0 only.)
Displaying the new "Time" and "Transfer" columns as well as highlighting.

Displaying the actual call parameters:

Other changes in v2.0.2
- RMI Spy: Double clicking a method in the RMI Spy will open the method definition in the editor.
- RMI Spy: Bugfix: Sometimes the process label is wrong.
- Registry Inspector: Display the codebase from which a class (in the hierarchy view) has been loaded.
- Registry Inspector: Bugfix: Sometimes, double clicking a type name would fail with exception.
- RMI Builder: fix a rare NullPointerException bug
- RMI Builder: Bugfix: Sometimes not all stubs were compiled on compound changes (such as CVS updates).
Please post questions, bugs, etc as replies to this thread.