Here are notes on HP (Mercury) Deep Diagnostics from the inside out. Tidbits here were culled from manuals and work experience. This is a companion page to my pages on Mercury Diagnostics Products, Performance Monitoring, Tuning, and Testing using LoadRunner and other products.
Deep Diagnostics captures transaction data such as page hits, JSP object requests, EJB and JDBC calls, and database SQL requests over time so that latencies and throughput can be correlated across multiple tiers of the application.
Instead of a mediator, Mercury's Deep Diagnostics ("DD") features use DD Agents installed on three machines:
Deep Diagnostics was renamed from the "OptiBench" product after Mercury acquired it from the Performant Corporation. This is why the default log filename used by Deep Diagnostics Instrumented and post-processing Java code is named performant.log. An abbreviation of this name is used to name the pfmt.logging.logfile property.
Mercury acquired the "Total Trace" technology to fold into Mercury's own Diagnostics product. So DD was not significantly upgraded from v18.104.22.168 dated 8/5/2005, which does not diagnose multi-CPU machines.
Folder Projects (described with text of goals, procedure, results, and notes)
Metric Capture Plan actions
Profiles and call graphs
Probes capture performance values that typically include CPU utilization, main memory consumption, disk I/O requests, and network traffic data throughput.
Experiments reference global values within this Server Status classsifications:
The above are listed in the order they are populated with values.
Deep Diagnostics runs use command files written in Jython (Python within Java) in the scripts folder. These scripts reference properties in the /shared/etc folder.
Analysis of Deep Diagnstic run results to identify concurrency problems:
DD uses four native libraries: ptimer, pfilelog, ploglib, putil.
For system components in which the source code is not available and modification of the object code is inappropriate or violates a software license agreement, Mercury Professional Services Group, can use the interposition technique that substitutes a system component with a pass-through component that records calls made to it.
Unlike static call graphs created by IDEs, DD call graphs are created dynamically from actual execution paths.
In Profile graphs: