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 {
|