comparison src/share/vm/services/diagnosticCommand.hpp @ 7956:16fb9f942703

6479360: PrintClassHistogram improvements Summary: jcmd <pid> GC.class_stats (UnlockDiagnosticVMOptions) Reviewed-by: coleenp, hseigel, sla, acorn Contributed-by: ioi.lam@oracle.com
author acorn
date Fri, 25 Jan 2013 15:06:18 -0500
parents fb19af007ffc
children 8f696cf1a0fb
comparison
equal deleted inserted replaced
7950:6cf2530f7fd3 7956:16fb9f942703
1 /* 1 /*
2 * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
176 static int num_arguments(); 176 static int num_arguments();
177 virtual void execute(TRAPS); 177 virtual void execute(TRAPS);
178 }; 178 };
179 #endif // INCLUDE_SERVICES 179 #endif // INCLUDE_SERVICES
180 180
181 // See also: inspeactheap in attachListener.cpp 181 // See also: inspectheap in attachListener.cpp
182 class ClassHistogramDCmd : public DCmdWithParser { 182 class ClassHistogramDCmd : public DCmdWithParser {
183 protected: 183 protected:
184 DCmdArgument<bool> _all; 184 DCmdArgument<bool> _all;
185 public: 185 public:
186 ClassHistogramDCmd(outputStream* output, bool heap); 186 ClassHistogramDCmd(outputStream* output, bool heap);
187 static const char* name() { 187 static const char* name() {
188 return "GC.class_histogram"; 188 return "GC.class_histogram";
189 } 189 }
190 static const char* description() { 190 static const char* description() {
191 return "Provide statistics about the Java heap usage."; 191 return "Provide statistics about the Java heap usage.";
192 }
193 static const char* impact() {
194 return "High: Depends on Java heap size and content.";
195 }
196 static int num_arguments();
197 virtual void execute(TRAPS);
198 };
199
200 class ClassStatsDCmd : public DCmdWithParser {
201 protected:
202 DCmdArgument<bool> _all;
203 DCmdArgument<bool> _csv;
204 DCmdArgument<bool> _help;
205 DCmdArgument<char*> _columns;
206 public:
207 ClassStatsDCmd(outputStream* output, bool heap);
208 static const char* name() {
209 return "GC.class_stats";
210 }
211 static const char* description() {
212 return "Provide statistics about Java class meta data. Requires -XX:+UnlockDiagnosticVMOptions.";
192 } 213 }
193 static const char* impact() { 214 static const char* impact() {
194 return "High: Depends on Java heap size and content."; 215 return "High: Depends on Java heap size and content.";
195 } 216 }
196 static int num_arguments(); 217 static int num_arguments();