Skip to content

Instantly share code, notes, and snippets.

@oliverdaff
Created December 7, 2011 04:12
Show Gist options
  • Save oliverdaff/1441424 to your computer and use it in GitHub Desktop.
Save oliverdaff/1441424 to your computer and use it in GitHub Desktop.
Terracotta JMX Monitor
import javax.management.remote.JMXServiceURL
import javax.management.remote.JMXConnectorFactory as JmxFactory
import java.lang.management.*
def beanName = "org.terracotta:type=Terracotta Server,name=DSO"
def serverUrl = new JMXServiceURL('service:jmx:jmxmp://localhost:9520')
def server = JmxFactory.connect(serverUrl, null).MBeanServerConnection
def liveObjectCount = new GroovyMBean(server, beanName).LiveObjectCount
def garbageCollectorStats = new GroovyMBean(server, beanName).GarbageCollectorStats
def transactionRate = new GroovyMBean(server, beanName).TransactionRate
def clientTransactionRates = new GroovyMBean(server, beanName).ClientTransactionRates
def allPendingTransactionsCount = new GroovyMBean(server, beanName).AllPendingTransactionsCount
def objectFaultRate = new GroovyMBean(server, beanName).ObjectFaultRate
def objectFlushRate = new GroovyMBean(server, beanName).ObjectFlushRate
def l2DiskFaultRate = new GroovyMBean(server, beanName).L2DiskFaultRate
println "LiveObjectCount: $liveObjectCount"
println "GarbageCollectorStats: $garbageCollectorStats"
println "TransactionRate: $transactionRate"
println "clientTransactionRates: $clientTransactionRates"
println "AllPendingTransactionsCount: $allPendingTransactionsCount"
println "ObjectFaultRate: $objectFaultRate"
println "ObjectFlushRate: $objectFlushRate"
println "L2DiskFaultRate: $l2DiskFaultRate"
beanName = "org.terracotta.internal:type=Terracotta Server,name=Terracotta Server"
def stats = new GroovyMBean(server, beanName).Statistics
println "Statistics: $stats"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment