Before being acquired by HP, Mercury used to offer
a free download of the Diagnostics Profiler.
The merc.diagnostics-profiler.zip file is 405,672 KB.
When executed, it creates by default a "JavaProbe" folder within C:\MercuryDiagnostics.
To configure it,
cd \MERCUR~1\JAVAPR~1\bin
and run jreinstrumenter.cmd
for
this screen
In the "Mercury Java JRE Instrumation tool" pop-up, click "Copy Parameter" for
-Xmanagement:class=com.mercury.opal.capture.proxy.JRockitManagement
"-Xbootclasspath/p:C:\MercuryDiagnostics\JAVAProbe\classes\boot"
Also add -Xrunheapdump to enable heap dumps within the profiler.
Click Exit and Paste the text in the JVM startup script file.
- Run
profiler.cmd
This screen
should appear after it sets these environment variables:
PROBE_HOME and
JAVA_EXE=java and
PROBE_CP=
JAVA_EXE=%PROBE_HOME%\_jvm\bin\java
Closing the command window shuts down the service.
- Instead of highlighting the screen (which disappears), copy from here:
-javaagent:C:\BEA\jrockit90_150_04\mercuryprofiler\lib\probagent.jar
- Start the application server navigate to the "Arguments" field where JVM parameters are entered.
For example, if you're using the WebLogic MedRec benchmark application
click to medrec > Servers > MedRecServer > Configuration > Remote Start
Paste the string and click "Apply".
- Restart the server: Navagate to "Control" > "Start/Stop" and click
"Graceful shutdown of this server..." and confirm "Yes".
Wait for "TASK IN PROGRESS" to turn to "STOPPED".
Then click "Start" and Wait again for "TASK IN PROGRESS" to turn to "STARTED".
- Click the "Connect to Mercury Diagnostics Profiler" link for
this screen
which graphs the Memory used, the Load, and Slowest Requests.
http://localhost:35000/profiler/ (after authenticating for default "admin" userid and password)
opens an internet browser with the same (albeit slower performing) Java applet.
Mouse over the graphic for tooltip information.
Click the "Show Legend" tab for
this screen
The tabs:
- "Hotspots" tab graphs the "Slowest Methods" and "CPU Hotspots"
- metrics
- "All Methods"
- "All SQL"
- "Collections" require light-weight memory diagnostics instrumentation and capture to be enabled in the probe.
- "Exceptions" only for instrumented methods.
- "Server Requests" for each Layer
- "Web Services"
- "Heap Breakdown"
The profiler tracks where time is spent by each J2EE instance?
It also tracks VM heap usage,
so it can rank collections by memory usage and
??? How does it identify memory leaks during GC??
It tracks hold times by sychronization lock ???
It counts exceptions and trace information ???
The J2EE Probe captures events such as method invocations, collection sites, and when
business and server transactions begin and end.
Click the "Metrics" tab and expand the tree: