| <?xml version="1.0" encoding="UTF-8"?> | |
| <!-- | |
| Copyright (c) 2008, 2023 SAP AG. | |
| All rights reserved. This program and the accompanying materials | |
| are made available under the terms of the Eclipse Public License 2.0 | |
| which accompanies this distribution, and is available at | |
| https://www.eclipse.org/legal/epl-2.0/ | |
| SPDX-License-Identifier: EPL-2.0 | |
| Contributors: | |
| SAP AG - initial API and implementation | |
| --> | |
| <!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd" > | |
| <reference id="ref_querymatrix" xml:lang="en-us"> | |
| <title>Query Matrix</title> | |
| <shortdesc> | |
| There is no exact algorithm for memory analysis. The following | |
| table divides existing heap dump queries by the usage | |
| categories. | |
| </shortdesc> | |
| <prolog> | |
| <copyright> | |
| <copyryear year=""></copyryear> | |
| <copyrholder> | |
| Copyright (c) 2008, 2023 SAP AG and others. | |
| All rights reserved. This program and the accompanying materials | |
| are made available under the terms of the Eclipse Public License 2.0 | |
| which accompanies this distribution, and is available at | |
| https://www.eclipse.org/legal/epl-2.0/ | |
| </copyrholder> | |
| </copyright> | |
| </prolog> | |
| <refbody> | |
| <section> | |
| <title>Overview</title> | |
| <simpletable relcolwidth="2* 3*" id="querymatrixoverview"> | |
| <strow id="histogram"> | |
| <stentry>Histogram</stentry> | |
| <stentry> | |
| Class histogram is a list of all the objects in | |
| the heap dump. You see the number of objects, | |
| shallow and retained sizes for every class. The | |
| sorting order of the list can be changed by | |
| clicking the column header. Histogram gives you | |
| a good starting point for further analysis. | |
| Histogram can be opened by pressing the toolbar | |
| button | |
| <image href="../mimes/i-histogram.png"> | |
| <alt> | |
| Histogram toolbar button with three vertical bars. | |
| </alt> | |
| </image> | |
| or by activating the action link on the Overview | |
| pane. See the <xref href="../gettingstarted/basictutorial.dita#task_basictutorial/histogram">Basic Tutorial</xref> | |
| for more information. | |
| </stentry> | |
| </strow> | |
| <strow> | |
| <stentry id="top_consumers">Top Consumers</stentry> | |
| <stentry> | |
| Top Consumers query returns information about | |
| the biggest objects grouped by class, class | |
| loader, and package as HTML page. The total heap | |
| is included in the analysis. | |
| </stentry> | |
| </strow> | |
| <strow id="heap_dump_overview"> | |
| <stentry>Heap Dump Overview</stentry> | |
| <stentry> | |
| <p> | |
| When a heap dump is opened the Overview | |
| editor already provides a first analysis on | |
| the heap dump: | |
| </p> | |
| <ul> | |
| <li> | |
| Check the size of the heap dump, how | |
| many object, classes, class loaders it | |
| has. | |
| </li> | |
| <li>Look at the biggest objects.</li> | |
| </ul> | |
| <p> | |
| The Heap Dump Overview report can be opened | |
| via the toolbar: | |
| </p> | |
| <image href="../mimes/6f9c3893.png"> | |
| <alt> | |
| Heap Dump Overview menu item from Run Expert System Test drop-down menu. | |
| </alt> | |
| </image> | |
| <p>Overview report contains a histogram and a top consumers overview.</p> | |
| </stentry> | |
| </strow> | |
| <strow id="list_objects"> | |
| <stentry>List Objects</stentry> | |
| <stentry> | |
| <p> | |
| This shows the selected objects in a tree view. | |
| With each object the class specific name of the referenced object is | |
| also shown, if it is a known type such as <codeph>java.lang.String</codeph>, | |
| <codeph>byte[]</codeph> etc. | |
| The suffix field shows whether the object is | |
| a <xref href="../concepts/gcroots.dita">garbage collection root</xref>. | |
| </p> | |
| <p> | |
| The <xref href="iconassist.dita">icon</xref> shows whether the object is a | |
| <dl> | |
| <dlentry> | |
| <dt> | |
| <xref href="iconassist.dita"> | |
| <image href="../mimes/i-arrayobject.png"> | |
| <alt> | |
| Icon for an array using brackets | |
| </alt> | |
| </image> | |
| </xref> | |
| </dt> | |
| <dd>an array object</dd> | |
| </dlentry> | |
| <dlentry> | |
| <dt> | |
| <xref href="iconassist.dita"> | |
| <image href="../mimes/i-classloaderobject.png"> | |
| <alt> | |
| Icon for a class loader showing a jar container. | |
| </alt> | |
| </image> | |
| </xref> | |
| </dt> | |
| <dd>a class loader object</dd> | |
| </dlentry> | |
| <dlentry> | |
| <dt> | |
| <xref href="iconassist.dita"> | |
| <image href="../mimes/i-classobject.png"> | |
| <alt> | |
| Icon for a class object showing a letter 'C'. | |
| </alt> | |
| </image> | |
| </xref> | |
| </dt> | |
| <dd>a class object</dd> | |
| </dlentry> | |
| <dlentry> | |
| <dt> | |
| <xref href="iconassist.dita"> | |
| <image href="../mimes/i-otherobject.png"> | |
| <alt> | |
| An icon for a standard object as a blank | |
| piece of paper. | |
| </alt> | |
| </image> | |
| </xref> | |
| </dt> | |
| <dd>a standard object</dd> | |
| </dlentry> | |
| </dl> | |
| </p> | |
| <p> | |
| With the standard mode then expanding an object | |
| shows the outbound references in rows below | |
| and to the right of the object, | |
| indicated by | |
| the field name or array index as a prefix in <b>bold</b>. | |
| The <xref href="iconassist.dita">icons</xref> have an arrow which points down and to the right | |
| <xref href="iconassist.dita"> | |
| <image href="../mimes/i-horefbelow.png"> | |
| <alt> | |
| Icon of a piece of paper | |
| with an arrow at the bottom right pointing down and to the right. | |
| </alt> | |
| </image> | |
| </xref> | |
| . | |
| </p> | |
| <p> | |
| In inbound mode the query shows which objects point to the | |
| expanded object. In this mode the arrows on the <xref href="iconassist.dita">icons</xref> | |
| point up and to the left | |
| <xref href="iconassist.dita"> | |
| <image href="../mimes/i-horefabove.png"> | |
| <alt> | |
| Icon of a piece of paper | |
| with an arrow at the top left pointing up and to the left. | |
| </alt> | |
| </image>. | |
| </xref> | |
| </p> | |
| </stentry> | |
| </strow> | |
| <strow id="show_objects_by_class"> | |
| <stentry>Show Objects by Class</stentry> | |
| <stentry> | |
| This works rather like the <cmdname>List objects</cmdname> | |
| query except that it groups objects of the same class at | |
| the same level into one row. | |
| The inspector view shows the actual class; the context menu | |
| allows operations on all the objects of that class in that row. | |
| <p>The color of the class <xref href="iconassist.dita">icon</xref> shows if all the objects in that | |
| row are new or not. If the <xref href="iconassist.dita">icon</xref> is | |
| <xref href="iconassist.dita"> | |
| <image href="../mimes/i-class.png"> | |
| <alt> | |
| Green circle icon with a letter 'C'. | |
| </alt> | |
| </image> | |
| </xref> | |
| green | |
| then none of the objects have been shown further up the tree. | |
| If the <xref href="iconassist.dita">icon</xref> is | |
| <xref href="iconassist.dita"> | |
| <image href="../mimes/i-class_old.png"> | |
| <alt> | |
| Gray circle icon with a letter 'C'. | |
| </alt> | |
| </image> | |
| </xref> | |
| gray | |
| then all of the objects have been shown further up the tree. | |
| If the <xref href="iconassist.dita">icon</xref> is | |
| <xref href="iconassist.dita"> | |
| <image href="../mimes/i-class_mixed.png"> | |
| <alt> | |
| Circle icon with a letter 'C', | |
| green on the top half and gray at the bottom. | |
| </alt> | |
| </image> | |
| </xref> | |
| green and gray | |
| then some of the objects have been shown further up the tree. | |
| This can be useful when expanding the tree to see whether you | |
| are still finding new objects or whether they link back to | |
| objects you have already seen. | |
| </p> | |
| <p>This query can also operate in <parmname>inbound</parmname> mode.</p> | |
| </stentry> | |
| </strow> | |
| </simpletable> | |
| </section> | |
| </refbody> | |
| </reference> |