diff options
Diffstat (limited to 'tools/preload/PrintCsv.java')
-rw-r--r-- | tools/preload/PrintCsv.java | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/tools/preload/PrintCsv.java b/tools/preload/PrintCsv.java deleted file mode 100644 index 1820830..0000000 --- a/tools/preload/PrintCsv.java +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (C) 2008 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. - */ - -import java.io.IOException; -import java.io.FileInputStream; -import java.io.ObjectInputStream; -import java.io.BufferedInputStream; -import java.io.Writer; -import java.io.PrintStream; -import java.util.Set; -import java.util.HashSet; -import java.util.TreeSet; -import java.util.Iterator; - -/** - * Prints raw information in CSV format. - */ -public class PrintCsv { - - public static void main(String[] args) - throws IOException, ClassNotFoundException { - if (args.length != 1) { - System.err.println("Usage: PrintCsv [compiled log file]"); - System.exit(0); - } - - Root root = Root.fromFile(args[0]); - - printHeaders(System.out); - - MemoryUsage baseline = MemoryUsage.baseline(); - - for (LoadedClass loadedClass : root.loadedClasses.values()) { - if (!loadedClass.systemClass) { - continue; - } - - printRow(System.out, baseline, loadedClass); - } - } - - static void printHeaders(PrintStream out) { - out.println("Name" - + ",Preloaded" - + ",Median Load Time (us)" - + ",Median Init Time (us)" - + ",Process Names" - + ",Load Count" - + ",Init Count" - + ",Managed Heap (B)" - + ",Native Heap (B)" - + ",Managed Pages (kB)" - + ",Native Pages (kB)" - + ",Other Pages (kB)"); - } - - static void printRow(PrintStream out, MemoryUsage baseline, - LoadedClass loadedClass) { - out.print(loadedClass.name); - out.print(','); - out.print(loadedClass.preloaded); - out.print(','); - out.print(loadedClass.medianLoadTimeMicros()); - out.print(','); - out.print(loadedClass.medianInitTimeMicros()); - out.print(','); - out.print('"'); - - Set<String> procNames = new TreeSet<String>(); - for (Operation op : loadedClass.loads) - procNames.add(op.process.name); - for (Operation op : loadedClass.initializations) - procNames.add(op.process.name); - - if (procNames.size() <= 3) { - for (String name : procNames) { - out.print(name + "\n"); - } - } else { - Iterator<String> i = procNames.iterator(); - out.print(i.next() + "\n"); - out.print(i.next() + "\n"); - out.print("...and " + (procNames.size() - 2) - + " others."); - } - - out.print('"'); - out.print(','); - out.print(loadedClass.loads.size()); - out.print(','); - out.print(loadedClass.initializations.size()); - - if (loadedClass.memoryUsage.isAvailable()) { - MemoryUsage subtracted - = loadedClass.memoryUsage.subtract(baseline); - - out.print(','); - out.print(subtracted.javaHeapSize()); - out.print(','); - out.print(subtracted.nativeHeapSize); - out.print(','); - out.print(subtracted.javaPagesInK()); - out.print(','); - out.print(subtracted.nativePagesInK()); - out.print(','); - out.print(subtracted.otherPagesInK()); - - } else { - out.print(",n/a,n/a,n/a,n/a,n/a"); - } - - out.println(); - } -} |