From f629cfdbf6da3409aff177352e9ff41209b4570c Mon Sep 17 00:00:00 2001 From: Richard Uhler Date: Mon, 12 Dec 2016 13:11:26 +0000 Subject: 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 --- tools/ahat/src/HelpHandler.java | 52 ----------------------------------------- 1 file changed, 52 deletions(-) delete mode 100644 tools/ahat/src/HelpHandler.java (limited to 'tools/ahat/src/HelpHandler.java') diff --git a/tools/ahat/src/HelpHandler.java b/tools/ahat/src/HelpHandler.java deleted file mode 100644 index 8de3c85f5c..0000000000 --- a/tools/ahat/src/HelpHandler.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (C) 2015 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.google.common.io.ByteStreams; -import com.sun.net.httpserver.HttpExchange; -import com.sun.net.httpserver.HttpHandler; -import java.io.IOException; -import java.io.InputStream; -import java.io.PrintStream; - -/** - * HelpHandler. - * - * HttpHandler to show the help page. - */ -class HelpHandler implements HttpHandler { - - @Override - public void handle(HttpExchange exchange) throws IOException { - ClassLoader loader = HelpHandler.class.getClassLoader(); - exchange.getResponseHeaders().add("Content-Type", "text/html;charset=utf-8"); - exchange.sendResponseHeaders(200, 0); - PrintStream ps = new PrintStream(exchange.getResponseBody()); - HtmlDoc doc = new HtmlDoc(ps, DocString.text("ahat"), DocString.uri("style.css")); - doc.menu(Menu.getMenu()); - - InputStream is = loader.getResourceAsStream("help.html"); - if (is == null) { - ps.println("No help available."); - } else { - ByteStreams.copy(is, ps); - } - - doc.close(); - ps.close(); - } -} -- cgit v1.2.3-59-g8ed1b