diff options
| author | 2016-12-12 13:11:26 +0000 | |
|---|---|---|
| committer | 2017-02-20 13:33:40 +0000 | |
| commit | f629cfdbf6da3409aff177352e9ff41209b4570c (patch) | |
| tree | e59e58924de62f4ff9906a95691f259e94b7fd09 /tools/ahat/test/NativeAllocationTest.java | |
| parent | cda4f2e72f569e0a0d6119c1c75284fd44df79ab (diff) | |
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
Diffstat (limited to 'tools/ahat/test/NativeAllocationTest.java')
| -rw-r--r-- | tools/ahat/test/NativeAllocationTest.java | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/tools/ahat/test/NativeAllocationTest.java b/tools/ahat/test/NativeAllocationTest.java deleted file mode 100644 index 9babab903e..0000000000 --- a/tools/ahat/test/NativeAllocationTest.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.ahat; - -import com.android.ahat.heapdump.AhatInstance; -import com.android.ahat.heapdump.AhatSnapshot; -import com.android.ahat.heapdump.NativeAllocation; -import java.io.IOException; -import org.junit.Test; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; - -public class NativeAllocationTest { - - @Test - public void nativeAllocation() throws IOException { - TestDump dump = TestDump.getTestDump(); - - AhatSnapshot snapshot = dump.getAhatSnapshot(); - AhatInstance referent = dump.getDumpedAhatInstance("anObject"); - for (NativeAllocation alloc : snapshot.getNativeAllocations()) { - if (alloc.referent.equals(referent)) { - assertEquals(42 , alloc.size); - assertEquals(referent.getHeap(), alloc.heap); - assertEquals(0xABCDABCD , alloc.pointer); - return; - } - } - fail("No native allocation found with anObject as the referent"); - } -} - |