From 1af86f17dc9a47faf1c6cd7ccd23d248fdc615ab Mon Sep 17 00:00:00 2001 From: Richard Uhler Date: Thu, 29 Oct 2015 14:55:00 -0700 Subject: ahat: limit default number of results shown. Previously, ahat had performance issues rendering large pages. This change causes ahat to limit the number results shown in large pages by default, requiring the user to explicitly request more information if they care about it. Bug: 25114227 Change-Id: Ief67396be254be4c84e6971f5b903a701206e17b --- tools/ahat/src/ObjectsHandler.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'tools/ahat/src/ObjectsHandler.java') diff --git a/tools/ahat/src/ObjectsHandler.java b/tools/ahat/src/ObjectsHandler.java index 4e9c42e566..8ad3f481da 100644 --- a/tools/ahat/src/ObjectsHandler.java +++ b/tools/ahat/src/ObjectsHandler.java @@ -22,9 +22,13 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -class ObjectsHandler extends AhatHandler { +class ObjectsHandler implements AhatHandler { + private static final String OBJECTS_ID = "objects"; + + private AhatSnapshot mSnapshot; + public ObjectsHandler(AhatSnapshot snapshot) { - super(snapshot); + mSnapshot = snapshot; } @Override @@ -51,13 +55,15 @@ class ObjectsHandler extends AhatHandler { new Column("Size", Column.Align.RIGHT), new Column("Heap"), new Column("Object")); - for (Instance inst : insts) { + SubsetSelector selector = new SubsetSelector(query, OBJECTS_ID, insts); + for (Instance inst : selector.selected()) { doc.row( DocString.format("%,d", inst.getSize()), DocString.text(inst.getHeap().getName()), Value.render(inst)); } doc.end(); + selector.render(doc); } } -- cgit v1.2.3-59-g8ed1b