squbs-12. 监控运行时的actor

原文地址: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 
 }

你可能感兴趣的:(squbs-12. 监控运行时的actor)