diff options
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | README.md | 10 | ||||
-rw-r--r-- | kamon-dashboard/kamon-dashboard-screenshot.png | bin | 0 -> 63079 bytes | |||
-rw-r--r-- | kamon-dashboard/src/main/scala/kamon/dashboard/DashboardService.scala | 10 |
4 files changed, 16 insertions, 9 deletions
@@ -15,3 +15,8 @@ project/plugins/project/ .scala_dependencies .idea .idea_modules + +# Intellij +.idea/ +*.iml +*.iws
\ No newline at end of file @@ -1,9 +1,11 @@ Kamon -===== +========= +TODO: Description +![First Implementation of Kamon in Action!!!](kamon-dashboard/kamon-dashboard-screenshot.png) -/metrics/actorsystem/{actorsystem-name}/dispatcher/{dispatcher-name}/ -For each dispatcher, show: - -
\ No newline at end of file +## Licensing + +Highcharts, which makes up the majority of kamon dashboard, has [its own, separate licensing](http://shop.highsoft.com/highcharts.html).
\ No newline at end of file diff --git a/kamon-dashboard/kamon-dashboard-screenshot.png b/kamon-dashboard/kamon-dashboard-screenshot.png Binary files differnew file mode 100644 index 00000000..ee3b25cf --- /dev/null +++ b/kamon-dashboard/kamon-dashboard-screenshot.png diff --git a/kamon-dashboard/src/main/scala/kamon/dashboard/DashboardService.scala b/kamon-dashboard/src/main/scala/kamon/dashboard/DashboardService.scala index 904329f2..e2eb7890 100644 --- a/kamon-dashboard/src/main/scala/kamon/dashboard/DashboardService.scala +++ b/kamon-dashboard/src/main/scala/kamon/dashboard/DashboardService.scala @@ -48,8 +48,8 @@ trait DashboardPages extends HttpService { trait DashboardMetricsApi extends HttpService with SprayJsonSupport{ - case class TimerDataHolder(name:String, count:Long, percentile99:Double) - case class TotalMessages(messages:Long, actors:Long, data:List[TimerDataHolder]) + 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]) @@ -75,13 +75,13 @@ trait DashboardMetricsApi extends HttpService with SprayJsonSupport{ def actorSystemMetrics = actorSystemNames.flatMap(name => actorSystem(name)) .map(system => ActorSystemMetricsHolder(system.actorSystemName, system.dispatchers.map { case(name, metricCollector) => (name -> DispatcherMetricCollectorHolder(name, metricCollector.activeThreadCount.snapshot.median, metricCollector.poolSize.snapshot.median, metricCollector.queueSize.snapshot.median))}.toMap)) - val withTotalMessages = (dataHolders: List[TimerDataHolder]) => { + val withTotalMessages = (dataHolders: Seq[TimerDataHolder]) => { val numberOfMessages = dataHolders.map(_.count).sum - new TotalMessages(numberOfMessages,dataHolders.size, dataHolders) + new TotalMessages(numberOfMessages, dataHolders.size, dataHolders) } - def timerMetrics = registry.getTimers(metricFilter).asScala.map{ case(name, timer) => TimerDataHolder(name, timer.getSnapshot.getMean.toLong, timer.getSnapshot.get99thPercentile())}.toList + def timerMetrics = registry.getTimers(metricFilter).asScala.map{ case(name, timer) => TimerDataHolder(name, timer.getMeanRate, timer.getSnapshot.get99thPercentile)}.toVector val dashboardMetricsApi = pathPrefix("metrics") { |