aboutsummaryrefslogtreecommitdiff
path: root/kamon-dashboard/src/main/scala/kamon/dashboard/protocol/DashboardProtocols.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/protocol/DashboardProtocols.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/protocol/DashboardProtocols.scala')
-rw-r--r--kamon-dashboard/src/main/scala/kamon/dashboard/protocol/DashboardProtocols.scala32
1 files changed, 32 insertions, 0 deletions
diff --git a/kamon-dashboard/src/main/scala/kamon/dashboard/protocol/DashboardProtocols.scala b/kamon-dashboard/src/main/scala/kamon/dashboard/protocol/DashboardProtocols.scala
new file mode 100644
index 00000000..3f7ed6dc
--- /dev/null
+++ b/kamon-dashboard/src/main/scala/kamon/dashboard/protocol/DashboardProtocols.scala
@@ -0,0 +1,32 @@
+package kamon.dashboard.protocol
+
+import spray.json.{RootJsonFormat, DefaultJsonProtocol}
+
+object DashboardProtocols {
+
+ 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])
+ case class ActorTree(name:String, children:List[ActorTree] = Nil)
+
+ object TimerDataHolder extends DefaultJsonProtocol {
+ implicit val TimerDataHolderJsonProtocol = jsonFormat3(apply)
+ }
+
+ object TotalMessages extends DefaultJsonProtocol {
+ implicit val TotalMessagesJsonProtocol = jsonFormat3(apply)
+ }
+
+ object DispatcherMetricCollectorHolder extends DefaultJsonProtocol {
+ implicit val DispatcherMetricCollectorJsonProtocol = jsonFormat4(apply)
+ }
+
+ object ActorSystemMetricsHolder extends DefaultJsonProtocol {
+ implicit val ActorSystemMetricsJsonProtocol = jsonFormat2(apply)
+ }
+
+ object ActorTree extends DefaultJsonProtocol {
+ implicit val ActorTreeJsonProtocol:RootJsonFormat[ActorTree] = rootFormat(lazyFormat(jsonFormat(apply, "name", "children")))
+ }
+}