f629cfdbf6da3409aff177352e9ff41209b4570c |
|
12-Dec-2016 |
Richard Uhler <ruhler@google.com> |
ahat: add support for diffing two heap dumps. ahat now has the option to specify a --baseline hprof file to use as the basis for comparing two heap dumps. When a baseline hprof file is provided, ahat will highlight how the heap dump has changed relative to the hprof file. Differences that are highlighted include: * overall heap sizes * total bytes and number of allocations by type * new and deleted instances of a given type * retained sizes of objects * instance fields, static fields, and array elements of modified objects Also: * Remove support for showing NativeAllocations, because I haven't ever found it to be useful, it is not obvious what a "native" allocation is, and I don't feel like adding diff support for them. * Remove help page. Because it is outdated, not well maintained, and not very helpful in the first place. Test: m ahat-test Test: Run in diff mode for tests and added new tests for diff. Test: Manually run with and without diff mode on heap dumps from system server. Bug: 33770653 Change-Id: Id9a392ac75588200e716bbc3edbae6e9cd97c26b
|
cda4f2e72f569e0a0d6119c1c75284fd44df79ab |
|
09-Sep-2016 |
Richard Uhler <ruhler@google.com> |
Refactor ahat's perflib api. This change substantially refactors how ahat accesses heap dump data. Rather than use the perflib API directly with some additional information accessed on the side via AhatSnapshot, we introduce an entirely new API for accessing all the information we need from a heap dump. Perflib is used when processing the heap dump to populate the information initially, but afterwards all views and handlers go through the new com.android.ahat.heapdump API. The primary motivation for this change is to facilitate adding support for diffing two heap dumps to ahat. The new API provides flexibility that will make it easier to form links between objects in different snapshots and introduce place holder objects to show when there is an object in another snapshot that has no corresponding object in this snapshot. A large number of test cases were added to cover missing cases discovered in the process of refactoring ahat's perflib API. The external user-facing UI may have minor cosmetic changes, but otherwise is unchanged. Test: m ahat-test, with many new tests added. Bug: 33770653 Change-Id: I1a6b05ea469ebbbac67d99129dd9faa457b4d17e
|
38f9eba1ad2094205410b47cd72ae3e4152c9432 |
|
11-Nov-2015 |
Richard Uhler <ruhler@google.com> |
Annotate root objects and show their types. The summaries for root objects are now prefixed with "(root)" to show they are roots, and the object's root types are listed in the object view. Bug: 23784153 Change-Id: Ib52ccb59cf0e3f28ac754c6caa564ebef34866ea
|
1af86f17dc9a47faf1c6cd7ccd23d248fdc615ab |
|
29-Oct-2015 |
Richard Uhler <ruhler@google.com> |
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
|
c21e4e67861f38e2ebce3cce633d01fcb8de5f1f |
|
01-Sep-2015 |
Richard Uhler <ruhler@google.com> |
Make format args explicit in DocString. Previously it was not clear that passing a single argument to DocString.text, DocString.append, or DocString.uri would be treated as a format string. With this change, the 'text', 'append', and 'uri' methods take literal strings, and the new 'format', 'appendFormat', and 'formattedUri' methods take format strings. Bug: 23782192 Change-Id: I9a094575f0831de6659033052305f918c71ac8b7
|
b730b78dac047c6d8ead93ad77605bcb7414f5ce |
|
16-Jul-2015 |
Richard Uhler <ruhler@google.com> |
ahat - An android heap dump viewer. Initial checkin. ahat is an android-aware heap dump viewer based on perflib with a simple html interface. Change-Id: I7c18a7603dbbe735f778a95cd047f4f9ec1705ef
|