Thursday, February 14, 2008

Real-Time Profiling & Monitoring

A new Google TechTalk now done by Cliff Click from Azul Systems on Real-Time Profiling & Monitoring (RTPM).

I present an unscripted live demo of RTPM, Azul's profiling & monitoring tool (meaning: I'll take suggestions from the audience on what buttons to push during the demo). JVM's routinely collect a lot of very useful information internally and the Azul engineers were long frustrated that this information was not readily available outside the VM: with RTPM it now is.

Azul works with some of the largest Java programs around. We routinely debug performance problems in programs with hundreds of running threads (not just runnable threads) using garbage-collected heaps with 100's of gigabytes. RTPM is a big selling point with our customers, and our secret weapon for telling you what your program is doing.

* Always-on (low overhead) everything
* All stats viewable from standard web browers
* Contended monitors, i.e. "hot locks" - and call stacks for threads blocked on the lock
* Live counts of all sys-calls, i/o, file caches, RPC's, native calls
* Live stats on GC: heap size, GC cycle times, generation sizes, app pause times, app allocation rates, etc
* Live stats of live stuff in the heap;
* Aggregate "points-to" on all heap objects. Suspect a leak? By looking at the suspicious objects' points-to data you can quickly zero-in on the root of the leak.
* Live hot-code profiling
* JIT asm dumps, annotated with live hardware perf counters
* Live stack traces of running threads (in 1-line-per Java call format, or 1-line-per-Java-local)
* "Peek" into the live heap, much like a debugger can - straight from live stack trace dumps
* Surf around the loaded class hierarchy, or the JIT'd code or all HotSpot flags or...
* Works with 1000's of runnable threads
* Works with 100's of Gigabyte heaps

Speaker: Cliff Click (Azul Systems)

No comments: