A JMX client with a file system style. You use ls to check all the mbeans, use cd to go down one level, and use cat to check the attribute value of a mbean's attribute.
In jmx-repl the following jmx bean:
java.lang:type=MemoryPool,name=CMS Old Gentranslates to the following path:
/java.lang/MemoryPool/CMS Old Geni.e. in jmx-repl, java.lang, MemoryPool, CMS Old Gen are all directories, the attributes of this bean are "file" in jmx-repl.
- Install leiningen
- Clone the repo:
git clone https://github.com/xumingming/jmx-repl.git- Add
Clojars.orgto your~/.m2/settings.xml
<repository>
<id>clojars.org</id>
<url>http://clojars.org/repo</url>
</repository>- Run
lein deps && lein replxumingmingv:jmx-repl(git:master)$ lein repl
REPL started; server listening on localhost port 44034
help -- print this help
ls -- list the items in current directory
cd -- enter a folder
cat -- print the value of an item
pwd -- show the current path
exit -- exit
[/] => ls
JMImplementation
com.sun.management
java.lang
java.util.logging
[/] => cd java.lang
[/java.lang] => ls
ClassLoading
Compilation
GarbageCollector
Memory
MemoryManager
MemoryPool
OperatingSystem
Runtime
Threading
[/java.lang] => cd MemoryPool
[/java.lang/MemoryPool] => ls
CMS Old Gen
CMS Perm Gen
Code Cache
Par Eden Space
Par Survivor Space
[/java.lang/MemoryPool] => cd CMS Old Gen
[/java.lang/MemoryPool/CMS Old Gen] => ls
CollectionUsage
CollectionUsageThreshold
CollectionUsageThresholdCount
CollectionUsageThresholdCount
CollectionUsageThresholdExceeded
CollectionUsageThresholdSupported
MemoryManagerNames
Name
PeakUsage
Type
Usage
UsageThreshold
UsageThresholdCount
UsageThresholdExceeded
UsageThresholdSupported
Valid
[/java.lang/MemoryPool/CMS Old Gen] => cat CollectionUsage
{:committed 0, :init 65404928, :max 110362624, :used 0}
[/java.lang/MemoryPool/CMS Old Gen] => exit
xumingmingv:jmx-repl(git:master)$Copyright (C) 2012 xumingming
Distributed under the Eclipse Public License, the same as Clojure.