diff options
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.scala | 32 |
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"))) + } +} |