aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/akka/MailboxMetrics.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/akka/MailboxMetrics.scala')
-rw-r--r--src/main/scala/akka/MailboxMetrics.scala21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/main/scala/akka/MailboxMetrics.scala b/src/main/scala/akka/MailboxMetrics.scala
index 27188a8c..6bf65cc7 100644
--- a/src/main/scala/akka/MailboxMetrics.scala
+++ b/src/main/scala/akka/MailboxMetrics.scala
@@ -1,7 +1,6 @@
package akka
import akka.dispatch.Mailbox
-import akka.actor.Actor
import com.newrelic.api.agent.NewRelic
case class MailboxMetrics(mailboxes:Map[String,Mailbox])
@@ -19,18 +18,18 @@ object MailboxMetrics {
)
}
-class MailboxSenderMetricsActor(mailboxes: List[Mailbox]) extends Actor {
- def receive = {
- case "SendMailboxMetrics" => {
- val mbm = MailboxMetrics(mailboxes)
- mbm.mailboxes.map { case(actorName, mb) => {
- println(s"Sending metrics to Newrelic MailBoxMonitor -> ${actorName}")
- NewRelic.recordMetric(s"${actorName}:Mailbox:NumberOfMessages", mb.numberOfMessages)
- NewRelic.recordMetric(s"${actorName}:Mailbox:MailboxDispatcherThroughput", mb.dispatcher.throughput)
- NewRelic.recordMetric(s"${actorName}:Mailbox:SuspendCount", mb.suspendCount)
- }
+class MailboxSenderMetrics(mailboxes:List[Mailbox]) extends Runnable {
+ def run() {
+ val mbm = MailboxMetrics(mailboxes)
+ mbm.mailboxes.map { case(actorName,mb) => {
+ println(s"Sending metrics to Newrelic MailBoxMonitor for Actor -> ${actorName}")
+
+ MailboxMetrics.toMap(mb).map {case(property, value) =>
+ NewRelic.recordMetric(s"${actorName}:Mailbox:${property}", value)
}
}
}
+ }
}
+