Looks very nice; what are you planning to use JMX for? On Tue, Jul 14, 2009 at 11:23 AM, Stuart Halloway<stuart.hallo...@gmail.com> wrote: > > ...wants your help to be born! :-) > > There is a branch in clojure-contrib that includes work so far: > http://github.com/richhickey/clojure-contrib/tree/jmx > . I want feedback on ease of use, most important features to add next, > code quality, you name it. > > Here's a teaser: > > ------------------------------------- > Usage > (require '[clojure.contrib.jmx :as jmx]) > > ------------------------------------- > What beans do I have? > > (jmx/mbean-names "*:*") > -> #<HashSet [java.lang:type=MemoryPool,name=CMS Old Gen, > java.lang:type=Memory, ...] > > ------------------------------------- > What attributes does a bean have? > > (jmx/attribute-names "java.lang:type=Memory") > -> (:Verbose :ObjectPendingFinalizationCount > :HeapMemoryUsage :NonHeapMemoryUsage) > > ------------------------------------- > What is the value of an attribute? > > (jmx/read "java.lang:type=Memory" :ObjectPendingFinalizationCount) > -> 0 > > ------------------------------------- > Can't I just have *all* the attributes in a Clojure map? > > (jmx/mbean "java.lang:type=Memory") > -> {:NonHeapMemoryUsage > {:used 16674024, :max 138412032, :init 24317952, :committed > 24317952}, > :HeapMemoryUsage > {:used 18619064, :max 85393408, :init 0, :committed 83230720}, > :ObjectPendingFinalizationCount 0, > :Verbose false} > > ------------------------------------- > Can I find and invoke an operation? > > (jmx/operation-names "java.lang:type=Memory") > -> (:gc) > (jmx/invoke "java.lang:type=Memory" :gc) > -> nil > > ------------------------------------- > What about some other process? Just run *any* of the above code > inside the with-connection form: > > (jmx/with-connection {:host "localhost", :port 3000} > (jmx/mbean "java.lang:type=Memory")) > -> {:ObjectPendingFinalizationCount 0, > :HeapMemoryUsage ... etc.} > > > > > > > >
-- Howard M. Lewis Ship Creator of Apache Tapestry Director of Open Source Technology at Formos --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---