aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore5
-rw-r--r--README.md10
-rw-r--r--kamon-dashboard/kamon-dashboard-screenshot.pngbin0 -> 63079 bytes
-rw-r--r--kamon-dashboard/src/main/scala/kamon/dashboard/DashboardService.scala10
4 files changed, 16 insertions, 9 deletions
diff --git a/.gitignore b/.gitignore
index c185efd9..2808344f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,3 +15,8 @@ project/plugins/project/
.scala_dependencies
.idea
.idea_modules
+
+# Intellij
+.idea/
+*.iml
+*.iws \ No newline at end of file
diff --git a/README.md b/README.md
index 93386982..028fd8aa 100644
--- a/README.md
+++ b/README.md
@@ -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
new file mode 100644
index 00000000..ee3b25cf
--- /dev/null
+++ b/kamon-dashboard/kamon-dashboard-screenshot.png
Binary files differ
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") {