| Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved. | |
| Redistribution and use in source and binary forms, with or without | |
| modification, are permitted provided that the following conditions | |
| are met: | |
| - Redistributions of source code must retain the above copyright | |
| notice, this list of conditions and the following disclaimer. | |
| - Redistributions in binary form must reproduce the above copyright | |
| notice, this list of conditions and the following disclaimer in the | |
| documentation and/or other materials provided with the distribution. | |
| - Neither the name of Oracle nor the names of its | |
| contributors may be used to endorse or promote products derived | |
| from this software without specific prior written permission. | |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS | |
| IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, | |
| THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | |
| PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR | |
| CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | |
| EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | |
| PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | |
| PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | |
| LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | |
| NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | |
| SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
| Header for -agentlib:hprof (or -Xrunhprof) ASCII Output (JDK 5.0 JVMTI based) | |
| WARNING! This file format is under development, and is subject to | |
| change without notice. | |
| This file contains the following types of records: | |
| THREAD START | |
| THREAD END mark the lifetime of Java threads | |
| TRACE represents a Java stack trace. Each trace consists | |
| of a series of stack frames. Other records refer to | |
| TRACEs to identify (1) where object allocations have | |
| taken place, (2) the frames in which GC roots were | |
| found, and (3) frequently executed methods. | |
| HEAP DUMP is a complete snapshot of all live objects in the Java | |
| heap. Following distinctions are made: | |
| ROOT root set as determined by GC | |
| CLS classes | |
| OBJ instances | |
| ARR arrays | |
| SITES is a sorted list of allocation sites. This identifies | |
| the most heavily allocated object types, and the TRACE | |
| at which those allocations occurred. | |
| CPU SAMPLES is a statistical profile of program execution. The VM | |
| periodically samples all running threads, and assigns | |
| a quantum to active TRACEs in those threads. Entries | |
| in this record are TRACEs ranked by the percentage of | |
| total quanta they consumed; top-ranked TRACEs are | |
| typically hot spots in the program. | |
| CPU TIME is a profile of program execution obtained by measuring | |
| the time spent in individual methods (excluding the time | |
| spent in callees), as well as by counting the number of | |
| times each method is called. Entries in this record are | |
| TRACEs ranked by the percentage of total CPU time. The | |
| "count" field indicates the number of times each TRACE | |
| is invoked. | |
| MONITOR TIME is a profile of monitor contention obtained by measuring | |
| the time spent by a thread waiting to enter a monitor. | |
| Entries in this record are TRACEs ranked by the percentage | |
| of total monitor contention time and a brief description | |
| of the monitor. The "count" field indicates the number of | |
| times the monitor was contended at that TRACE. | |
| MONITOR DUMP is a complete snapshot of all the monitors and threads in | |
| the System. | |
| HEAP DUMP, SITES, CPU SAMPLES|TIME and MONITOR DUMP|TIME records are generated | |
| at program exit. They can also be obtained during program execution by typing | |
| Ctrl-\ (on Solaris) or by typing Ctrl-Break (on Win32). | |