diff options
author | 2017-05-16 13:31:01 +0100 | |
---|---|---|
committer | 2017-05-25 16:48:41 +0100 | |
commit | 3ee4bff4eb293363b8fa5b263db55af59508efaf (patch) | |
tree | d7ab44338513d1699156c83fbc14a42c5aca6153 /tools/ahat/src/OverviewHandler.java | |
parent | 9b5b23555d9f82e98cabd75195eb95a1030fe1a6 (diff) |
Show RegisteredNativeAllocation sizes in ahat.
Bug: 36459946
Test: m ahat-test
Change-Id: I45f6dc19cf1e339a80e0d93b6f4bc58a93e571c7
Diffstat (limited to 'tools/ahat/src/OverviewHandler.java')
-rw-r--r-- | tools/ahat/src/OverviewHandler.java | 50 |
1 files changed, 17 insertions, 33 deletions
diff --git a/tools/ahat/src/OverviewHandler.java b/tools/ahat/src/OverviewHandler.java index ea305c4e94..c9f84259a9 100644 --- a/tools/ahat/src/OverviewHandler.java +++ b/tools/ahat/src/OverviewHandler.java @@ -18,16 +18,12 @@ package com.android.ahat; import com.android.ahat.heapdump.AhatHeap; import com.android.ahat.heapdump.AhatSnapshot; -import com.android.ahat.heapdump.Diffable; +import com.android.ahat.heapdump.Size; import java.io.File; import java.io.IOException; -import java.util.Collections; -import java.util.List; class OverviewHandler implements AhatHandler { - private static final String OVERVIEW_ID = "overview"; - private AhatSnapshot mSnapshot; private File mHprof; private File mBaseHprof; @@ -53,39 +49,27 @@ class OverviewHandler implements AhatHandler { } doc.end(); - doc.section("Heap Sizes"); - printHeapSizes(doc, query); + doc.section("Bytes Retained by Heap"); + printHeapSizes(doc); doc.big(Menu.getMenu()); } - private static class TableElem implements Diffable<TableElem> { - @Override public TableElem getBaseline() { - return this; - } - - @Override public boolean isPlaceHolder() { - return false; - } - } - - private void printHeapSizes(Doc doc, Query query) { - List<TableElem> dummy = Collections.singletonList(new TableElem()); - - HeapTable.TableConfig<TableElem> table = new HeapTable.TableConfig<TableElem>() { - public String getHeapsDescription() { - return "Bytes Retained by Heap"; - } - - public long getSize(TableElem element, AhatHeap heap) { - return heap.getSize(); + private void printHeapSizes(Doc doc) { + SizeTable.table(doc, new Column("Heap"), mSnapshot.isDiffed()); + Size totalSize = Size.ZERO; + Size totalBase = Size.ZERO; + for (AhatHeap heap : mSnapshot.getHeaps()) { + Size size = heap.getSize(); + Size base = heap.getBaseline().getSize(); + if (!size.isZero() || !base.isZero()) { + SizeTable.row(doc, DocString.text(heap.getName()), size, base); + totalSize = totalSize.plus(size); + totalBase = totalBase.plus(base); } - - public List<HeapTable.ValueConfig<TableElem>> getValueConfigs() { - return Collections.emptyList(); - } - }; - HeapTable.render(doc, query, OVERVIEW_ID, table, mSnapshot, dummy); + } + SizeTable.row(doc, DocString.text("Total"), totalSize, totalBase); + SizeTable.end(doc); } } |