1

I was using version 0.5.2 of kamon-akka library, without any problems, to monitor my akka actors. I then upgraded it to 0.6.3 and noticed that some statistics were not sent.

When I looked at the source code of kamon, I saw that the mailbox-size metric was not sent for routee actors running under a router. Instead, router metrics such as routingTime are being sent for the routee actors. However, I'm using them as workers and need to monitor their mailbox sizes.

Here is the part of kamon source which creates a routee monitor with RouterMetrics instead of ActorMetrics which contains the mailbox-size metric:

package akka.kamon.instrumentation
object ActorMonitor {
  ...

  def createRouteeMonitor(cellInfo: CellInfo): ActorMonitor = {
    def routerMetrics = Kamon.metrics.entity(RouterMetrics, cellInfo.entity)

    if (cellInfo.isTracked)
      new TrackedRoutee(cellInfo.entity, routerMetrics)
    else ActorMonitors.ContextPropagationOnly
  }

  ...
}

I'm not sure if this is a bug, but how can I solve this problem? Are there any configurations or workaround solutions to fix it?

Thank you in advance.

ovunccetin
  • 8,443
  • 5
  • 42
  • 53

0 Answers0