313 }
314 static const char* impact() {
315 return "Medium";
316 }
317 static int num_arguments() { return 0; }
318 static const JavaPermission permission() {
319 JavaPermission p = {"java.lang.management.ManagementPermission",
320 "monitor", NULL};
321 return p;
322 }
323
324 virtual void execute(DCmdSource source, TRAPS);
325 };
326
327 #if INCLUDE_SERVICES // Heap dumping supported
328 // See also: dump_heap in attachListener.cpp
329 class HeapDumpDCmd : public DCmdWithParser {
330 protected:
331 DCmdArgument<char*> _filename;
332 DCmdArgument<bool> _all;
333 public:
334 HeapDumpDCmd(outputStream* output, bool heap);
335 static const char* name() {
336 return "GC.heap_dump";
337 }
338 static const char* description() {
339 return "Generate a HPROF format dump of the Java heap.";
340 }
341 static const char* impact() {
342 return "High: Depends on Java heap size and content. "
343 "Request a full GC unless the '-all' option is specified.";
344 }
345 static const JavaPermission permission() {
346 JavaPermission p = {"java.lang.management.ManagementPermission",
347 "monitor", NULL};
348 return p;
349 }
350 static int num_arguments();
351 virtual void execute(DCmdSource source, TRAPS);
352 };
|
313 }
314 static const char* impact() {
315 return "Medium";
316 }
317 static int num_arguments() { return 0; }
318 static const JavaPermission permission() {
319 JavaPermission p = {"java.lang.management.ManagementPermission",
320 "monitor", NULL};
321 return p;
322 }
323
324 virtual void execute(DCmdSource source, TRAPS);
325 };
326
327 #if INCLUDE_SERVICES // Heap dumping supported
328 // See also: dump_heap in attachListener.cpp
329 class HeapDumpDCmd : public DCmdWithParser {
330 protected:
331 DCmdArgument<char*> _filename;
332 DCmdArgument<bool> _all;
333 DCmdArgument<bool> _gzip;
334 DCmdArgument<jlong> _gzip_level;
335 public:
336 HeapDumpDCmd(outputStream* output, bool heap);
337 static const char* name() {
338 return "GC.heap_dump";
339 }
340 static const char* description() {
341 return "Generate a HPROF format dump of the Java heap.";
342 }
343 static const char* impact() {
344 return "High: Depends on Java heap size and content. "
345 "Request a full GC unless the '-all' option is specified.";
346 }
347 static const JavaPermission permission() {
348 JavaPermission p = {"java.lang.management.ManagementPermission",
349 "monitor", NULL};
350 return p;
351 }
352 static int num_arguments();
353 virtual void execute(DCmdSource source, TRAPS);
354 };
|