原文地址:Monitoring Actors at Runtime
概览
在actor system中,squbs-actormonitor模块附加监控至每一个actor。这可以侵入大量的actor。监控的actor的数量可以在application.conf配置。在生产中,判断是否附加这些模块。该模块,没有用户的API。
依赖
以下依赖加入到你的 build.sbt或scala构建文件中
"org.squbs" %% "squbs-actormonitor" % squbsVersion
监控
每个actor有一个相对应的 JMXBean(org.squbs.unicomplex:type=ActorMonitor,name=%actorPath)来暴露actor信息:
trait ActorMonitorMXBean {
def getActor: String
def getClassName: String
def getRouteConfig : String
def getParent: String
def getChildren: String
def getDispatcher : String
def getMailBoxSize : String
}
配置
以下的是 squbs-actormonitor的配置条目:
squbs-actormonitor = {
maxActorCount = 500
maxChildrenDisplay = 20
}
JMX Bean org.squbs.unicomplex:type=ActorMonitor
暴露Actor Monitor的配置。JMX Bean是只读的。
trait ActorMonitorConfigMXBean {
def getCount : Int //Count of JMX bean has been created
def getMaxCount: Int //Maximum JMX bean can be created
def getMaxChildrenDisplay: Int //Per each actor, maximum children can be exposed
}