Skip to content

Instantly share code, notes, and snippets.

@tyrcho
Created April 3, 2015 15:25
Show Gist options
  • Save tyrcho/48f4dcde2768212a5b3c to your computer and use it in GitHub Desktop.
Save tyrcho/48f4dcde2768212a5b3c to your computer and use it in GitHub Desktop.
Displays system information from Java/Scala using ManagementFactory and JMX MBean Server
import java.lang.management.ManagementFactory
import scala.collection.JavaConversions._
import scala.util.Try
object Test extends App {
val mbeanServer = ManagementFactory.getPlatformMBeanServer
for {
mb <- mbeanServer.queryMBeans(null, null)
name = mb.getObjectName
} {
println(name)
val info = mbeanServer.getMBeanInfo(name)
for {
attr <- info.getAttributes
attName = attr.getName
value = Try(mbeanServer.getAttribute(name, attName)).getOrElse("error")
desc = if (value.isInstanceOf[Array[_]]) value.asInstanceOf[Array[_]].mkString("[", ", ", "]") else value
} println(s" $attName=$desc")
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment