aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Topolnak <ivantopo@gmail.com>2013-08-26 19:39:11 -0300
committerIvan Topolnak <ivantopo@gmail.com>2013-08-26 19:39:11 -0300
commit30ee4d88346448066c5ae0f12b683343b678577f (patch)
tree21213af0c9baae0e84bbe1326a8e8f9d494ca8e4
parent902da6b5410325411a0473f923632fa92d39838e (diff)
parent96df748a0c5ac2071a8710a2d1f3608f722a8afa (diff)
downloadKamon-30ee4d88346448066c5ae0f12b683343b678577f.tar.gz
Kamon-30ee4d88346448066c5ae0f12b683343b678577f.tar.bz2
Kamon-30ee4d88346448066c5ae0f12b683343b678577f.zip
Merge branch 'master' of github.com:dpsoft/Kamon
Conflicts: kamon-dashboard/src/main/scala/kamon/dashboard/DashboardService.scala
-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") {