src/share/vm/services/diagnosticCommand.hpp

Print this page
rev 3388 : imported patch dcmd-fixes


  31 #include "runtime/vm_version.hpp"
  32 #include "runtime/vmThread.hpp"
  33 #include "runtime/os.hpp"
  34 #include "services/diagnosticArgument.hpp"
  35 #include "services/diagnosticCommand.hpp"
  36 #include "services/diagnosticFramework.hpp"
  37 #include "services/diagnosticCommand_ext.hpp"
  38 
  39 class HelpDCmd : public DCmdWithParser {
  40 protected:
  41   DCmdArgument<bool> _all;
  42   DCmdArgument<char*> _cmd;
  43 public:
  44   HelpDCmd(outputStream* output, bool heap);
  45   static const char* name() { return "help"; }
  46   static const char* description() {
  47     return "For more information about a specific command use 'help <command>'. "
  48            "With no argument this will show a list of available commands. "
  49            "'help all' will show help for all commands.";
  50   }
  51   static const char* impact() { return "Low: "; }
  52   static int num_arguments();
  53   virtual void execute(TRAPS);
  54 };
  55 
  56 class VersionDCmd : public DCmd {
  57 public:
  58   VersionDCmd(outputStream* output, bool heap) : DCmd(output,heap) { }
  59   static const char* name() { return "VM.version"; }
  60   static const char* description() {
  61     return "Print JVM version information.";
  62   }
  63   static const char* impact() { return "Low: "; }
  64   static int num_arguments() { return 0; }
  65   virtual void execute(TRAPS);
  66 };
  67 
  68 class CommandLineDCmd : public DCmd {
  69 public:
  70   CommandLineDCmd(outputStream* output, bool heap) : DCmd(output, heap) { }
  71   static const char* name() { return "VM.command_line"; }
  72   static const char* description() {
  73     return "Print the command line used to start this VM instance.";
  74   }
  75   static const char* impact() { return "Low: "; }
  76   static int num_arguments() { return 0; }
  77   virtual void execute(TRAPS) {
  78     Arguments::print_on(_output);
  79   }
  80 };
  81 
  82 // See also: get_system_properties in attachListener.cpp
  83 class PrintSystemPropertiesDCmd : public DCmd {
  84 public:
  85   PrintSystemPropertiesDCmd(outputStream* output, bool heap) : DCmd(output, heap) { }
  86     static const char* name() { return "VM.system_properties"; }
  87     static const char* description() {
  88       return "Print system properties.";
  89     }
  90     static const char* impact() {
  91       return "Low: ";
  92     }
  93     static int num_arguments() { return 0; }
  94     virtual void execute(TRAPS);
  95 };
  96 
  97 // See also: print_flag in attachListener.cpp
  98 class PrintVMFlagsDCmd : public DCmdWithParser {
  99 protected:
 100   DCmdArgument<bool> _all;
 101 public:
 102   PrintVMFlagsDCmd(outputStream* output, bool heap);
 103   static const char* name() { return "VM.flags"; }
 104   static const char* description() {
 105     return "Print VM flag options and their current values.";
 106   }
 107   static const char* impact() {
 108     return "Low: ";
 109   }
 110   static int num_arguments();
 111   virtual void execute(TRAPS);
 112 };
 113 
 114 class VMUptimeDCmd : public DCmdWithParser {
 115 protected:
 116   DCmdArgument<bool> _date;
 117 public:
 118   VMUptimeDCmd(outputStream* output, bool heap);
 119   static const char* name() { return "VM.uptime"; }
 120   static const char* description() {
 121     return "Print VM uptime.";
 122   }
 123   static const char* impact() {
 124     return "Low: ";
 125   }
 126   static int num_arguments();
 127   virtual void execute(TRAPS);
 128 };
 129 
 130 class SystemGCDCmd : public DCmd {
 131 public:
 132   SystemGCDCmd(outputStream* output, bool heap) : DCmd(output, heap) { }
 133     static const char* name() { return "GC.run"; }
 134     static const char* description() {
 135       return "Call java.lang.System.gc().";
 136     }
 137     static const char* impact() {
 138       return "Medium: Depends on Java heap size and content.";
 139     }
 140     static int num_arguments() { return 0; }
 141     virtual void execute(TRAPS);
 142 };
 143 
 144 class RunFinalizationDCmd : public DCmd {




  31 #include "runtime/vm_version.hpp"
  32 #include "runtime/vmThread.hpp"
  33 #include "runtime/os.hpp"
  34 #include "services/diagnosticArgument.hpp"
  35 #include "services/diagnosticCommand.hpp"
  36 #include "services/diagnosticFramework.hpp"
  37 #include "services/diagnosticCommand_ext.hpp"
  38 
  39 class HelpDCmd : public DCmdWithParser {
  40 protected:
  41   DCmdArgument<bool> _all;
  42   DCmdArgument<char*> _cmd;
  43 public:
  44   HelpDCmd(outputStream* output, bool heap);
  45   static const char* name() { return "help"; }
  46   static const char* description() {
  47     return "For more information about a specific command use 'help <command>'. "
  48            "With no argument this will show a list of available commands. "
  49            "'help all' will show help for all commands.";
  50   }
  51   static const char* impact() { return "Low"; }
  52   static int num_arguments();
  53   virtual void execute(TRAPS);
  54 };
  55 
  56 class VersionDCmd : public DCmd {
  57 public:
  58   VersionDCmd(outputStream* output, bool heap) : DCmd(output,heap) { }
  59   static const char* name() { return "VM.version"; }
  60   static const char* description() {
  61     return "Print JVM version information.";
  62   }
  63   static const char* impact() { return "Low"; }
  64   static int num_arguments() { return 0; }
  65   virtual void execute(TRAPS);
  66 };
  67 
  68 class CommandLineDCmd : public DCmd {
  69 public:
  70   CommandLineDCmd(outputStream* output, bool heap) : DCmd(output, heap) { }
  71   static const char* name() { return "VM.command_line"; }
  72   static const char* description() {
  73     return "Print the command line used to start this VM instance.";
  74   }
  75   static const char* impact() { return "Low"; }
  76   static int num_arguments() { return 0; }
  77   virtual void execute(TRAPS) {
  78     Arguments::print_on(_output);
  79   }
  80 };
  81 
  82 // See also: get_system_properties in attachListener.cpp
  83 class PrintSystemPropertiesDCmd : public DCmd {
  84 public:
  85   PrintSystemPropertiesDCmd(outputStream* output, bool heap) : DCmd(output, heap) { }
  86     static const char* name() { return "VM.system_properties"; }
  87     static const char* description() {
  88       return "Print system properties.";
  89     }
  90     static const char* impact() {
  91       return "Low";
  92     }
  93     static int num_arguments() { return 0; }
  94     virtual void execute(TRAPS);
  95 };
  96 
  97 // See also: print_flag in attachListener.cpp
  98 class PrintVMFlagsDCmd : public DCmdWithParser {
  99 protected:
 100   DCmdArgument<bool> _all;
 101 public:
 102   PrintVMFlagsDCmd(outputStream* output, bool heap);
 103   static const char* name() { return "VM.flags"; }
 104   static const char* description() {
 105     return "Print VM flag options and their current values.";
 106   }
 107   static const char* impact() {
 108     return "Low";
 109   }
 110   static int num_arguments();
 111   virtual void execute(TRAPS);
 112 };
 113 
 114 class VMUptimeDCmd : public DCmdWithParser {
 115 protected:
 116   DCmdArgument<bool> _date;
 117 public:
 118   VMUptimeDCmd(outputStream* output, bool heap);
 119   static const char* name() { return "VM.uptime"; }
 120   static const char* description() {
 121     return "Print VM uptime.";
 122   }
 123   static const char* impact() {
 124     return "Low";
 125   }
 126   static int num_arguments();
 127   virtual void execute(TRAPS);
 128 };
 129 
 130 class SystemGCDCmd : public DCmd {
 131 public:
 132   SystemGCDCmd(outputStream* output, bool heap) : DCmd(output, heap) { }
 133     static const char* name() { return "GC.run"; }
 134     static const char* description() {
 135       return "Call java.lang.System.gc().";
 136     }
 137     static const char* impact() {
 138       return "Medium: Depends on Java heap size and content.";
 139     }
 140     static int num_arguments() { return 0; }
 141     virtual void execute(TRAPS);
 142 };
 143 
 144 class RunFinalizationDCmd : public DCmd {