# HG changeset patch # User Elliott Baron # Date 1362071852 18000 # Node ID 89add75f3b7133f3501f5878600f4ff4dd709d26 # Parent 2bb2a1d1aa03892e4e7bfc3bf099cd34b6ae477a Convert Heap command.properties to plugin.xml This commit moves the definitions for the heap-related commands to the heap plugin's plugin.xml file. I have also updated the list-heap-dumps usage string to reflect that hostId and vmId are optional arguments, and fixed a spacing issue in the description for the logLevel built-in argument. Reviewed-by: jerboaa Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2013-February/005933.html diff -r 2bb2a1d1aa03 -r 89add75f3b71 distribution/config/commands/dump-heap.properties --- a/distribution/config/commands/dump-heap.properties Wed Feb 27 17:51:03 2013 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -bundles = thermostat-common-core-@project.version@.jar, \ - thermostat-client-core-@project.version@.jar, \ - thermostat-client-cli-@project.version@.jar, \ - thermostat-common-command-@project.version@.jar, \ - thermostat-client-command-@project.version@.jar, \ - thermostat-vm-heap-analysis-common-@project.version@.jar, \ - thermostat-vm-heap-analysis-command-@project.version@.jar, \ - thermostat-storage-mongodb-${project.version}.jar, \ - mongo.jar, \ - commons-beanutils.jar, \ - commons-codec.jar, \ - commons-collections.jar, \ - commons-logging.jar, \ - thermostat-web-common-${project.version}.jar, \ - thermostat-web-client-${project.version}.jar, \ - httpcomponents-core.jar, \ - httpcomponents-client.jar, \ - gson.jar, \ - netty.jar - -description = trigger a heap dump on the VM - -usage = dump-heap --hostId --vmId [-d [-u -p ]] [-l ] - -options = hostId, vmId, AUTO_DB_OPTIONS, AUTO_LOG_OPTION - -hostId.short = a -hostId.long = hostId -hostId.hasarg = true -hostId.required = true -hostId.description = the ID of the host to monitor - -vmId.short = v -vmId.long = vmId -vmId.hasarg = true -vmId.required = true -vmId.description = the ID of the VM to monitor diff -r 2bb2a1d1aa03 -r 89add75f3b71 distribution/config/commands/find-objects.properties --- a/distribution/config/commands/find-objects.properties Wed Feb 27 17:51:03 2013 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -bundles = thermostat-client-core-@project.version@.jar, \ - thermostat-common-command-@project.version@.jar, \ - thermostat-client-command-@project.version@.jar, \ - thermostat-client-cli-@project.version@.jar, \ - thermostat-vm-heap-analysis-common-@project.version@.jar, \ - thermostat-vm-heap-analysis-command-@project.version@.jar, \ - thermostat-storage-mongodb-${project.version}.jar, \ - mongo.jar, \ - commons-beanutils.jar, \ - commons-codec.jar, \ - commons-collections.jar, \ - commons-logging.jar, \ - thermostat-web-common-${project.version}.jar, \ - thermostat-web-client-${project.version}.jar, \ - httpcomponents-core.jar, \ - httpcomponents-client.jar, \ - gson.jar, \ - netty.jar - -description = Finds objects in a heapdump - -usage = find-objects [-d [-u -p ]] [-l ] --heapId --limit - -options = heapId, limit, AUTO_DB_OPTIONS, AUTO_LOG_OPTION - -heapId.short = h -heapId.long = heapId -heapId.hasarg = true -heapId.required = true -heapId.description = the ID of the heapdump to analyze - -limit.short = L -limit.long = limit -limit.hasarg = true -limit.required = false -limit.description = limit search to top N results, defaults to 10 diff -r 2bb2a1d1aa03 -r 89add75f3b71 distribution/config/commands/find-root.properties --- a/distribution/config/commands/find-root.properties Wed Feb 27 17:51:03 2013 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ -bundles = thermostat-client-core-@project.version@.jar, \ - thermostat-common-command-@project.version@.jar, \ - thermostat-client-command-@project.version@.jar, \ - thermostat-client-cli-@project.version@.jar, \ - thermostat-vm-heap-analysis-common-@project.version@.jar, \ - thermostat-vm-heap-analysis-command-@project.version@.jar, \ - thermostat-storage-mongodb-${project.version}.jar, \ - mongo.jar, \ - commons-beanutils.jar, \ - commons-codec.jar, \ - commons-collections.jar, \ - commons-logging.jar, \ - thermostat-web-common-${project.version}.jar, \ - thermostat-web-client-${project.version}.jar, \ - httpcomponents-core.jar, \ - httpcomponents-client.jar, \ - gson.jar, \ - netty.jar - -description = finds the shortest path from an object to a GC root - -usage = find-root --heapId --objectId [-a] [-d [-u -p ]] [-l ] - -options = heapId, objectId, all, AUTO_DB_OPTIONS, AUTO_LOG_OPTION - -heapId.short = h -heapId.long = heapId -heapId.hasarg = true -heapId.required = true -heapId.description = the ID of the heapdump to analyze - -objectId.short = o -objectId.long = objectId -objectId.hasarg = true -objectId.required = true -objectId.description = the ID of the object to query - -all.short = a -all.long = all -all.hasarg = false -all.required = false -all.description = finds all paths to GC roots diff -r 2bb2a1d1aa03 -r 89add75f3b71 distribution/config/commands/list-heap-dumps.properties --- a/distribution/config/commands/list-heap-dumps.properties Wed Feb 27 17:51:03 2013 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -bundles = thermostat-storage-mongodb-${project.version}.jar, \ - mongo.jar, \ - commons-beanutils.jar, \ - commons-codec.jar, \ - commons-collections.jar, \ - commons-logging.jar, \ - thermostat-client-core-@project.version@.jar, \ - thermostat-client-cli-@project.version@.jar, \ - thermostat-common-command-@project.version@.jar, \ - thermostat-client-command-@project.version@.jar, \ - thermostat-vm-heap-analysis-common-@project.version@.jar, \ - thermostat-vm-heap-analysis-command-@project.version@.jar, \ - thermostat-web-common-${project.version}.jar, \ - thermostat-web-client-${project.version}.jar, \ - httpcomponents-core.jar, \ - httpcomponents-client.jar, \ - gson.jar, \ - netty.jar - -description = list all heap dumps - -usage = list-heap-dumps --hostId --vmId [-d [-u -p ]] [-l ] - -options = hostId, vmId, AUTO_DB_OPTIONS, AUTO_LOG_OPTION - -hostId.short = a -hostId.long = hostId -hostId.hasarg = true -hostId.required = false -hostId.description = the ID of the host to monitor - -vmId.short = v -vmId.long = vmId -vmId.hasarg = true -vmId.required = false -vmId.description = the ID of the VM to monitor diff -r 2bb2a1d1aa03 -r 89add75f3b71 distribution/config/commands/object-info.properties --- a/distribution/config/commands/object-info.properties Wed Feb 27 17:51:03 2013 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -bundles = thermostat-storage-mongodb-${project.version}.jar, \ - mongo.jar, \ - commons-beanutils.jar, \ - commons-codec.jar, \ - commons-collections.jar, \ - commons-logging.jar, \ - thermostat-client-core-@project.version@.jar, \ - thermostat-client-cli-@project.version@.jar, \ - thermostat-common-command-@project.version@.jar, \ - thermostat-client-command-@project.version@.jar, \ - thermostat-vm-heap-analysis-common-@project.version@.jar, \ - thermostat-vm-heap-analysis-command-@project.version@.jar, \ - thermostat-web-common-${project.version}.jar, \ - thermostat-web-client-${project.version}.jar, \ - httpcomponents-core.jar, \ - httpcomponents-client.jar, \ - gson.jar, \ - netty.jar - -description = prints information about an object in a heap dump - -usage = object-info --heapId --objectId [-d [-u -p ]] [-l ] - -options = heapId, objectId, AUTO_DB_OPTIONS, AUTO_LOG_OPTION - -heapId.short = h -heapId.long = heapId -heapId.hasarg = true -heapId.required = true -heapId.description = the ID of the heapdump to analyze - -objectId.short = o -objectId.long = objectId -objectId.hasarg = true -objectId.required = true -objectId.description = the ID of the object to query diff -r 2bb2a1d1aa03 -r 89add75f3b71 distribution/config/commands/save-heap-dump-to-file.properties --- a/distribution/config/commands/save-heap-dump-to-file.properties Wed Feb 27 17:51:03 2013 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -bundles = thermostat-storage-mongodb-${project.version}.jar, \ - mongo.jar, \ - commons-beanutils.jar, \ - commons-codec.jar, \ - commons-collections.jar, \ - commons-logging.jar, \ - thermostat-client-core-@project.version@.jar, \ - thermostat-client-cli-@project.version@.jar, \ - thermostat-common-command-@project.version@.jar, \ - thermostat-client-command-@project.version@.jar, \ - thermostat-vm-heap-analysis-common-@project.version@.jar, \ - thermostat-vm-heap-analysis-command-@project.version@.jar, \ - thermostat-web-common-${project.version}.jar, \ - thermostat-web-client-${project.version}.jar, \ - httpcomponents-core.jar, \ - httpcomponents-client.jar, \ - gson.jar, \ - netty.jar - -description = saves a heap dump to a local file - -usage = save-heap-dump-to-file --heapId --file [-d [-u -p ]] [-l ] - -options = heapId, file, AUTO_DB_OPTIONS, AUTO_LOG_OPTION - -heapId.short = h -heapId.long = heapId -heapId.hasarg = true -heapId.required = true -heapId.description = the ID of the heapdump to analyze - -file.short = f -file.long = file -file.hasarg = true -file.required = true -file.description = the file name to save to diff -r 2bb2a1d1aa03 -r 89add75f3b71 distribution/config/commands/show-heap-histogram.properties --- a/distribution/config/commands/show-heap-histogram.properties Wed Feb 27 17:51:03 2013 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -bundles = thermostat-storage-mongodb-${project.version}.jar, \ - mongo.jar, \ - commons-beanutils.jar, \ - commons-codec.jar, \ - commons-collections.jar, \ - commons-logging.jar, \ - thermostat-client-core-@project.version@.jar, \ - thermostat-common-command-@project.version@.jar, \ - thermostat-client-command-@project.version@.jar, \ - thermostat-client-cli-@project.version@.jar, \ - thermostat-vm-heap-analysis-common-@project.version@.jar, \ - thermostat-vm-heap-analysis-command-@project.version@.jar, \ - thermostat-web-common-${project.version}.jar, \ - thermostat-web-client-${project.version}.jar, \ - httpcomponents-core.jar, \ - httpcomponents-client.jar, \ - gson.jar, \ - netty.jar - -description = show the heap histogram - -usage = show-heap-histogram --heapId [-d [-u -p ]] [-l ] - -options = heapId, AUTO_DB_OPTIONS, AUTO_LOG_OPTION - -heapId.short = h -heapId.long = heapId -heapId.hasarg = true -heapId.required = true -heapId.description = the ID of the heapdump to analyze diff -r 2bb2a1d1aa03 -r 89add75f3b71 launcher/src/main/resources/com/redhat/thermostat/launcher/internal/strings.properties --- a/launcher/src/main/resources/com/redhat/thermostat/launcher/internal/strings.properties Wed Feb 27 17:51:03 2013 -0500 +++ b/launcher/src/main/resources/com/redhat/thermostat/launcher/internal/strings.properties Thu Feb 28 12:17:32 2013 -0500 @@ -10,7 +10,7 @@ OPTION_DB_URL_DESC = connect to the given URL OPTION_USERNAME_DESC = the username to use for authentication OPTION_PASSWORD_DESC = the password to use for authentication -OPTION_LOG_LEVEL_DESC = sets the log level for this invocation. Possible values\ - for in decreasing severity are: SEVERE, WARNING, INFO, CONFIG, FINE,\ +OPTION_LOG_LEVEL_DESC = sets the log level for this invocation. Possible values \ + for in decreasing severity are: SEVERE, WARNING, INFO, CONFIG, FINE, \ FINER, FINEST and OFF diff -r 2bb2a1d1aa03 -r 89add75f3b71 vm-heap-analysis/distribution/plugin.xml --- a/vm-heap-analysis/distribution/plugin.xml Wed Feb 27 17:51:03 2013 -0500 +++ b/vm-heap-analysis/distribution/plugin.xml Thu Feb 28 12:17:32 2013 -0500 @@ -61,6 +61,390 @@ thermostat-vm-heap-analysis-common-${project.version}.jar - + + dump-heap + trigger a heap dump on the VM + dump-heap --hostId <host> --vmId <vm> [-d <url> [-u <user> -p <password>]] [-l <level>] + + + + + + + + + + thermostat-vm-heap-analysis-common-${project.version}.jar + thermostat-vm-heap-analysis-command-${project.version}.jar + + + thermostat-common-command-${project.version}.jar + thermostat-client-core-${project.version}.jar + thermostat-client-command-${project.version}.jar + thermostat-client-cli-${project.version}.jar + thermostat-storage-mongodb-${project.version}.jar + thermostat-web-common-${project.version}.jar + thermostat-web-client-${project.version}.jar + mongo.jar + commons-beanutils.jar + commons-codec.jar + commons-collections.jar + commons-logging.jar + httpcomponents-core.jar + httpcomponents-client.jar + gson.jar + netty.jar + + + + find-objects + finds objects in a heapdump + find-objects [-d <url> [-u <user> -p <password>]] [-l <level>] --heapId <id> --limit <limit> <pattern> + + + + + + + + + + thermostat-vm-heap-analysis-common-${project.version}.jar + thermostat-vm-heap-analysis-command-${project.version}.jar + + + thermostat-common-command-${project.version}.jar + thermostat-client-core-${project.version}.jar + thermostat-client-command-${project.version}.jar + thermostat-client-cli-${project.version}.jar + thermostat-storage-mongodb-${project.version}.jar + thermostat-web-common-${project.version}.jar + thermostat-web-client-${project.version}.jar + mongo.jar + commons-beanutils.jar + commons-codec.jar + commons-collections.jar + commons-logging.jar + httpcomponents-core.jar + httpcomponents-client.jar + gson.jar + netty.jar + + + + find-root + finds the shortest path from an object to a GC root + find-root --heapId <heap> --objectId <object> [-a] [-d <url> [-u <user> -p <password>]] [-l <level>] + + + + + + + + + + + thermostat-vm-heap-analysis-common-${project.version}.jar + thermostat-vm-heap-analysis-command-${project.version}.jar + + + thermostat-common-command-${project.version}.jar + thermostat-client-core-${project.version}.jar + thermostat-client-command-${project.version}.jar + thermostat-client-cli-${project.version}.jar + thermostat-storage-mongodb-${project.version}.jar + thermostat-web-common-${project.version}.jar + thermostat-web-client-${project.version}.jar + mongo.jar + commons-beanutils.jar + commons-codec.jar + commons-collections.jar + commons-logging.jar + httpcomponents-core.jar + httpcomponents-client.jar + gson.jar + netty.jar + + + + list-heap-dumps + list all heap dumps + list-heap-dumps [--hostId <host>] [--vmId <vm>] [-d <url> [-u <user> -p <password>]] [-l <level>] + + + + + + + + + + thermostat-vm-heap-analysis-common-${project.version}.jar + thermostat-vm-heap-analysis-command-${project.version}.jar + + + thermostat-common-command-${project.version}.jar + thermostat-client-core-${project.version}.jar + thermostat-client-command-${project.version}.jar + thermostat-client-cli-${project.version}.jar + thermostat-storage-mongodb-${project.version}.jar + thermostat-web-common-${project.version}.jar + thermostat-web-client-${project.version}.jar + mongo.jar + commons-beanutils.jar + commons-codec.jar + commons-collections.jar + commons-logging.jar + httpcomponents-core.jar + httpcomponents-client.jar + gson.jar + netty.jar + + + + object-info + prints information about an object in a heap dump + object-info --heapId <heap> --objectId <object> [-d <url> [-u <user> -p <password>]] [-l <level>] + + + + + + + + + + thermostat-vm-heap-analysis-common-${project.version}.jar + thermostat-vm-heap-analysis-command-${project.version}.jar + + + thermostat-common-command-${project.version}.jar + thermostat-client-core-${project.version}.jar + thermostat-client-command-${project.version}.jar + thermostat-client-cli-${project.version}.jar + thermostat-storage-mongodb-${project.version}.jar + thermostat-web-common-${project.version}.jar + thermostat-web-client-${project.version}.jar + mongo.jar + commons-beanutils.jar + commons-codec.jar + commons-collections.jar + commons-logging.jar + httpcomponents-core.jar + httpcomponents-client.jar + gson.jar + netty.jar + + + + save-heap-dump-to-file + saves a heap dump to a local file + save-heap-dump-to-file --heapId <heap> --file <filename> [-d <url> [-u <user> -p <password>]] [-l <level>] + + + + + + + + + + thermostat-vm-heap-analysis-common-${project.version}.jar + thermostat-vm-heap-analysis-command-${project.version}.jar + + + thermostat-common-command-${project.version}.jar + thermostat-client-core-${project.version}.jar + thermostat-client-command-${project.version}.jar + thermostat-client-cli-${project.version}.jar + thermostat-storage-mongodb-${project.version}.jar + thermostat-web-common-${project.version}.jar + thermostat-web-client-${project.version}.jar + mongo.jar + commons-beanutils.jar + commons-codec.jar + commons-collections.jar + commons-logging.jar + httpcomponents-core.jar + httpcomponents-client.jar + gson.jar + netty.jar + + + + show-heap-histogram + show the heap histogram + show-heap-histogram --heapId <heap> [-d <url> [-u <user> -p <password>]] [-l <level>] + + + + + + + + + thermostat-vm-heap-analysis-common-${project.version}.jar + thermostat-vm-heap-analysis-command-${project.version}.jar + + + thermostat-common-command-${project.version}.jar + thermostat-client-core-${project.version}.jar + thermostat-client-command-${project.version}.jar + thermostat-client-cli-${project.version}.jar + thermostat-storage-mongodb-${project.version}.jar + thermostat-web-common-${project.version}.jar + thermostat-web-client-${project.version}.jar + mongo.jar + commons-beanutils.jar + commons-codec.jar + commons-collections.jar + commons-logging.jar + httpcomponents-core.jar + httpcomponents-client.jar + gson.jar + netty.jar + + \ No newline at end of file