This document discusses various tools for diagnosing and monitoring applications running on the Java Virtual Machine (JVM). It begins with an overview of demo tools like jps, jcmd, jstat, and Java Mission Control. It then discusses internals of how these tools access a running JVM through mechanisms like JMX, attaching to processes, and the jvmstat performance data file. The document concludes with a discussion of future improvements including more diagnostic commands, JMX enhancements, improved JVM logging, and removing older tools.