aboutsummaryrefslogtreecommitdiff
path: root/kamon-dashboard/src/main/scala/kamon/dashboard/DashboardService.scala
diff options
context:
space:
mode:
authorDiego Parra <diegolparra@gmail.com>2013-09-01 19:22:26 -0300
committerDiego Parra <diegolparra@gmail.com>2013-09-01 19:22:26 -0300
commite457fb4d3b8535c27343c80c45fdbe7fa7a93dae (patch)
tree7585b5e48e8c56554f272c2915a6e25f7dcef7ec /kamon-dashboard/src/main/scala/kamon/dashboard/DashboardService.scala
parent0b24374b851590d54c3a671ecbc812d2dc3bed3a (diff)
downloadKamon-e457fb4d3b8535c27343c80c45fdbe7fa7a93dae.tar.gz
Kamon-e457fb4d3b8535c27343c80c45fdbe7fa7a93dae.tar.bz2
Kamon-e457fb4d3b8535c27343c80c45fdbe7fa7a93dae.zip
WIP: Refactor in dashboard in order to prepare actro tree view
Diffstat (limited to 'kamon-dashboard/src/main/scala/kamon/dashboard/DashboardService.scala')
-rw-r--r--kamon-dashboard/src/main/scala/kamon/dashboard/DashboardService.scala29
1 files changed, 8 insertions, 21 deletions
diff --git a/kamon-dashboard/src/main/scala/kamon/dashboard/DashboardService.scala b/kamon-dashboard/src/main/scala/kamon/dashboard/DashboardService.scala
index e2eb7890..8edbebde 100644
--- a/kamon-dashboard/src/main/scala/kamon/dashboard/DashboardService.scala
+++ b/kamon-dashboard/src/main/scala/kamon/dashboard/DashboardService.scala
@@ -5,7 +5,6 @@ import akka.actor._
import spray.routing.directives.LogEntry
import akka.event.Logging
import spray.http.MediaTypes._
-import spray.json._
import spray.httpx.SprayJsonSupport
import kamon.Kamon
import spray.http.HttpRequest
@@ -48,23 +47,10 @@ trait DashboardPages extends HttpService {
trait DashboardMetricsApi extends HttpService with SprayJsonSupport{
- case class TimerDataHolder(name:String, count:Double, percentile99:Double)
- case class TotalMessages(messages:Double, actors:Long, data:Seq[TimerDataHolder])
- case class DispatcherMetricCollectorHolder(name:String, activeThreadCount: Double, poolSize: Double, queueSize:Double)
- case class ActorSystemMetricsHolder(actorSystem:String, dispatchers:Map[String, DispatcherMetricCollectorHolder])
-
- object DashboardJsonProtocol extends DefaultJsonProtocol {
- implicit val TimerDataHolderJsonProtocol = jsonFormat3(TimerDataHolder)
- implicit val TotalMessagesJsonProtocol = jsonFormat3(TotalMessages)
- implicit val DispatcherMetricCollectorJsonProtocol = jsonFormat4(DispatcherMetricCollectorHolder)
- implicit val ActorSystemMetricsJsonProtocol = jsonFormat2(ActorSystemMetricsHolder)
- }
-
- import spray.httpx.marshalling._
import Kamon.Metric._
import scala.collection.JavaConverters._
import kamon.metric.Metrics._
- import DashboardJsonProtocol._
+ import kamon.dashboard.protocol.DashboardProtocols._
val metricFilter = new MetricFilter() {
def matches(name: String, m:Metric) = {
@@ -87,16 +73,17 @@ trait DashboardMetricsApi extends HttpService with SprayJsonSupport{
pathPrefix("metrics") {
path("dispatchers") {
get {
- complete {
- marshal(actorSystemMetrics)
- }
+ complete (actorSystemMetrics)
}
} ~
path("messages") {
get {
- complete {
- marshal(withTotalMessages(timerMetrics))
- }
+ complete (withTotalMessages(timerMetrics))
+ }
+ } ~
+ path("actorTree") {
+ get {
+ complete (ActorTree("/", ActorTree("Pang", ActorTree("Pang-children") :: Nil) :: ActorTree("Ping") :: ActorTree("Pong", ActorTree("Pong-children") :: Nil):: Nil))
}
}
}