Skip to main content

Histogram

One row groups a class's recorded instances. Filter class names, sort column headers, use Show all for the bounded initial list, and open an instance preview for detailed investigation.

ColumnMeaning
InstancesRecorded instance count for this class
ShallowSum of modeled own-object bytes
RetainedWithin-class non-overlapping retained subtrees
%Retained / reachable heap in the corrected histogram

Same-class dominated descendants are counted once. Cross-class totals still overlap; do not add them into total heap usage. Unreachable objects can contribute shallow bytes but no root-retained bytes.

Find the right object​

Sorting shallow totals finds classes using storage collectively, not their largest individual instance. Divide by count for an average, or query actual instances:

SELECT object_id, class_name, shallow_size, retained_size
FROM instances
WHERE class_name = 'java.lang.String'
ORDER BY shallow_size DESC
LIMIT 20

Use an instance's Inspect, Why alive, or referrer action where offered. Source actions resolve classes through the host; dependency/JDK behavior differs.

Export and limits​

CSV export is local: native save in an IDE or download in the browser adapter. Names and exact sizes are not anonymized. Large class lists/instance previews can be bounded; use filtering or queries rather than assuming a displayed subset is the complete heap.

Validate exports against displayed headers/byte semantics. See size definitions and Object Inspector.