Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@koduki
Created November 14, 2012 16:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save koduki/4073092 to your computer and use it in GitHub Desktop.
Save koduki/4073092 to your computer and use it in GitHub Desktop.
GlassFish JMX monitaring with JRuby.
require 'jmx4r'
url = 'service:jmx:rmi://localhost.localdomain:8686/jndi/rmi://localhost.localdomain:8686/jmxrmi'
con = JMX::MBean.establish_connection :url => url
thread = JMX::MBean.find_by_name "java.lang:type=Threading"
thread.peak_thread_count
thread.thread_count
os = JMX::MBean.find_by_name "java.lang:type=OperatingSystem"
os.name
os.version
os.arch
os.available_processors
os.system_load_average
os.system_cpu_load
os.process_cpu_load
os.total_physical_memory_size
os.free_physical_memory_size
os.committed_virtual_memory_size
os.total_swap_space_size
os.free_swap_space_size
os.max_file_descriptor_count
os.open_file_descriptor_count
runtime = JMX::MBean.find_by_name "java.lang:type=Runtime"
runtime.vm_name
runtime.spec_version
runtime.vm_version
runtime.boot_class_path
runtime.class_path
runtime.library_path
class_loading = JMX::MBean.find_by_name "java.lang:type=ClassLoading"
class_loading.total_loaded_class_count
class_loading.loaded_class_count
class_loading.unloaded_class_count
ps_mark_sweep = JMX::MBean.find_by_name "java.lang:type=GarbageCollector,name=PS MarkSweep"
ps_mark_sweep.collection_count
ps_mark_sweep.collection_time
ps_scavenge = JMX::MBean.find_by_name "java.lang:type=GarbageCollector,name=PS Scavenge"
ps_scavenge.collection_count
ps_scavenge.collection_time
jvm_server = JMX::MBean.find_by_name "amx:pp=/J2EEDomain/J2EEServer[server],type=JVM,j2eeType=JVM,J2EEServer=server"
jvm_server.java_vendor
jvm_server.java_version
jvm_server.node
jvm_server.object_name
j2ee_server = JMX::MBean.find_by_name "amx:pp=/J2EEDomain,type=J2EEServer,name=server,j2eeType=J2EEServer"
j2ee_server.server_version
thread_mon = JMX::MBean.find_by_name "amx:pp=/mon/server-mon[server],type=thread-system-mon,name=jvm/thread-system"
thread_mon.totalstartedthreadcount.get("count")
thread_mon.threadcount.get("count")
webrequest_mon = JMX::MBean.find_by_name "amx:pp=/mon/server-mon[server],type=web-request-mon,name=web/request"
webrequest_mon.requestcount.get("count")
webrequest_mon.errorcount.get("count")
webrequest_mon.processingtime.get("count")
webrequest_mon.maxtime.get("count")
thread_pool_http1_mon = JMX::MBean.find_by_name "amx:pp=/mon/server-mon[server],type=thread-pool-mon,name=network/http-listener-1/thread-pool"
thread_pool_http1_mon.maxthreads.get("count")
thread_pool_http1_mon.totalexecutedtasks.get("count")
thread_pool_http1_mon.currentthreadsbusy.get("count")
thread_pool_http1_mon.currentthreadcount.get("count")
thread_pool_http1_mon.corethreads.get("count")
servlet_mon = JMX::MBean.find_by_name "amx:pp=/mon/server-mon[server],type=servlet-mon,name=__default-web-module/server"
servlet_mon.activeservletsloadedcount.get("current")
servlet_mon.activeservletsloadedcount.get("highWaterMark")
servlet_mon.activeservletsloadedcount.get("lowWaterMark")
servlet_mon.servletprocessingtimes.get("count")
servlet_mon.totalservletsloadedcount.get("count")
memory_mon = JMX::MBean.find_by_name "amx:pp=/mon/server-mon[server],type=memory-mon,name=jvm/memory"
memory_mon.committedheapsize_count.get("count")
memory_mon.committednonheapsize_count.get("count")
memory_mon.initheapsize_count.get("count")
memory_mon.initnonheapsize_count.get("count")
memory_mon.maxheapsize_count.get("count")
memory_mon.maxnonheapsize_count.get("count")
memory_mon.objectpendingfinalizationcount_count.get("count")
memory_mon.usedheapsize_count.get("count")
memory_mon.usednonheapsize_count.get("count")
class_loading_mon = JMX::MBean.find_by_name "amx:pp=/mon/server-mon[server],type=class-loading-system-mon,name=jvm/class-loading-system"
class_loading_mon.loadedclass_count.get("count")
class_loading_mon.totalloadedclass_count.get("count")
class_loading_mon.unloadedclass_count.get("count")
connection_request_queue_mon = JMX::MBean.find_by_name "amx:pp=/mon/server-mon[server],type=connection-queue-mon,name=network/http-listener-1/connection-queue"
connection_request_queue_mon.countopenconnections.get("count")
connection_request_queue_mon.countoverflows.get("count")
connection_request_queue_mon.countqueued.get("count")
connection_request_queue_mon.countqueued15minutesaverage.get("count")
connection_request_queue_mon.countqueued1minuteaverage.get("count")
connection_request_queue_mon.countqueued5minutesaverage.get("count")
connection_request_queue_mon.counttotalconnections.get("count")
connection_request_queue_mon.counttotalqueued.get("count")
connection_request_queue_mon.maxqueued.get("count")
connection_request_queue_mon.peakqueued.get("count")
connection_request_queue_mon.tickstotalqueued.get("count")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment