Skip to content

Instantly share code, notes, and snippets.

@dln
Created May 3, 2011 09:45
Show Gist options
  • Save dln/953079 to your computer and use it in GitHub Desktop.
Save dln/953079 to your computer and use it in GitHub Desktop.
Reading some JMX MBeans from a Scala script
#!/bin/sh
exec scala $0 "$@"
!#
import scala.collection.JavaConversions._
import java.lang.management.{ManagementFactory, MemoryMXBean}
import java.net.URI
import javax.management.JMX
import javax.management.remote.{JMXConnectorFactory, JMXServiceURL}
if (args.length < 1) {
println("Usage: jmx.scala HOST:PORT ...")
System.exit(1)
}
for (jmxPeer <- args) {
val jmxUrl = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://%s/jmxrmi".format(jmxPeer))
val jmxc = JMXConnectorFactory.connect(jmxUrl, null)
val connection = jmxc.getMBeanServerConnection
val memProxy = ManagementFactory.newPlatformMXBeanProxy(connection, ManagementFactory.MEMORY_MXBEAN_NAME,
classOf[MemoryMXBean])
println("%s: %s".format(jmxPeer, memProxy.getHeapMemoryUsage))
}
@rschildmeijer
Copy link

thanks

@kastoestoramadus
Copy link

host given by IP is not parsed properly

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment