aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Topolnak <itopolnak@despegar.com>2014-02-06 10:23:34 -0300
committerIvan Topolnak <itopolnak@despegar.com>2014-02-06 10:48:34 -0300
commit679b0dcb8e715a2e7e3226b05755931453cf510d (patch)
treeb9bd0803ef49cebc736f54862789e5680e09c9e5
parent522a12c90788c402a364407e146d302e6519a3da (diff)
downloadKamon-679b0dcb8e715a2e7e3226b05755931453cf510d.tar.gz
Kamon-679b0dcb8e715a2e7e3226b05755931453cf510d.tar.bz2
Kamon-679b0dcb8e715a2e7e3226b05755931453cf510d.zip
minor cleanup before relasing 0.0.13
-rw-r--r--kamon-core/src/main/scala/kamon/metrics/Subscriptions.scala20
-rw-r--r--kamon-core/src/main/scala/kamon/metrics/package.scala4
-rw-r--r--kamon-core/src/test/scala/kamon/metrics/ActorMetricsSpec.scala3
-rw-r--r--kamon-newrelic/src/main/scala/kamon/newrelic/Agent.scala4
-rw-r--r--kamon-newrelic/src/main/scala/kamon/newrelic/MetricTranslator.scala4
-rw-r--r--kamon-newrelic/src/main/scala/kamon/newrelic/NewRelic.scala6
-rw-r--r--kamon-newrelic/src/main/scala/kamon/newrelic/NewRelicErrorLogger.scala2
-rw-r--r--kamon-newrelic/src/main/scala/kamon/newrelic/WebTransactionMetrics.scala15
-rw-r--r--kamon-newrelic/src/main/scala/kamon/newrelic/package.scala28
-rw-r--r--kamon-playground/src/main/scala/test/SimpleRequestProcessor.scala5
-rw-r--r--kamon-spray/src/main/scala/kamon/spray/KamonTraceDirectives.scala2
-rw-r--r--kamon-spray/src/test/scala/kamon/spray/ServerRequestInstrumentationSpec.scala2
12 files changed, 43 insertions, 52 deletions
diff --git a/kamon-core/src/main/scala/kamon/metrics/Subscriptions.scala b/kamon-core/src/main/scala/kamon/metrics/Subscriptions.scala
index 2111563b..4b022377 100644
--- a/kamon-core/src/main/scala/kamon/metrics/Subscriptions.scala
+++ b/kamon-core/src/main/scala/kamon/metrics/Subscriptions.scala
@@ -16,10 +16,10 @@
package kamon.metrics
-import akka.actor.{Props, ActorRef, Actor}
+import akka.actor.{ Props, ActorRef, Actor }
import kamon.metrics.Subscriptions.{ MetricGroupFilter, FlushMetrics, TickMetricSnapshot, Subscribe }
import kamon.util.GlobPathFilter
-import scala.concurrent.duration.{FiniteDuration, Duration}
+import scala.concurrent.duration.{ FiniteDuration, Duration }
import java.util.concurrent.TimeUnit
import kamon.Kamon
import kamon.metrics.TickMetricSnapshotBuffer.FlushBuffer
@@ -88,38 +88,36 @@ object Subscriptions {
}
}
-
class TickMetricSnapshotBuffer(flushInterval: FiniteDuration, receiver: ActorRef) extends Actor {
val flushSchedule = context.system.scheduler.schedule(flushInterval, flushInterval, self, FlushBuffer)(context.dispatcher)
def receive = empty
def empty: Actor.Receive = {
- case tick : TickMetricSnapshot => context become(buffering(tick))
- case FlushBuffer => // Nothing to flush.
+ case tick: TickMetricSnapshot ⇒ context become (buffering(tick))
+ case FlushBuffer ⇒ // Nothing to flush.
}
def buffering(buffered: TickMetricSnapshot): Actor.Receive = {
- case TickMetricSnapshot(_, to, tickMetrics) =>
+ case TickMetricSnapshot(_, to, tickMetrics) ⇒
val combinedMetrics = combineMaps(buffered.metrics, tickMetrics)(mergeMetricGroup)
val combinedSnapshot = TickMetricSnapshot(buffered.from, to, combinedMetrics)
- context become(buffering(combinedSnapshot))
+ context become (buffering(combinedSnapshot))
- case FlushBuffer =>
+ case FlushBuffer ⇒
receiver ! buffered
- context become(empty)
+ context become (empty)
}
-
override def postStop(): Unit = {
flushSchedule.cancel()
super.postStop()
}
def mergeMetricGroup(left: MetricGroupSnapshot, right: MetricGroupSnapshot) = new MetricGroupSnapshot {
- val metrics = combineMaps(left.metrics, right.metrics)((l, r) => l.merge(r))
+ val metrics = combineMaps(left.metrics, right.metrics)((l, r) ⇒ l.merge(r))
}
}
diff --git a/kamon-core/src/main/scala/kamon/metrics/package.scala b/kamon-core/src/main/scala/kamon/metrics/package.scala
index 765ebaca..f89d84a3 100644
--- a/kamon-core/src/main/scala/kamon/metrics/package.scala
+++ b/kamon-core/src/main/scala/kamon/metrics/package.scala
@@ -18,9 +18,9 @@ package kamon
package object metrics {
- def combineMaps[K, V](left: Map[K, V], right: Map[K, V])(valueMerger: (V, V) => V): Map[K, V] = {
+ def combineMaps[K, V](left: Map[K, V], right: Map[K, V])(valueMerger: (V, V) ⇒ V): Map[K, V] = {
(left ++ right) map {
- case (key, rightValue) => key -> left.get(key).map(leftValue => valueMerger(leftValue, rightValue)).getOrElse(rightValue)
+ case (key, rightValue) ⇒ key -> left.get(key).map(leftValue ⇒ valueMerger(leftValue, rightValue)).getOrElse(rightValue)
}
}
}
diff --git a/kamon-core/src/test/scala/kamon/metrics/ActorMetricsSpec.scala b/kamon-core/src/test/scala/kamon/metrics/ActorMetricsSpec.scala
index 03c1f323..ad9fd13f 100644
--- a/kamon-core/src/test/scala/kamon/metrics/ActorMetricsSpec.scala
+++ b/kamon-core/src/test/scala/kamon/metrics/ActorMetricsSpec.scala
@@ -1,5 +1,4 @@
-/*
- * =========================================================================================
+/* =========================================================================================
* Copyright © 2013 the kamon project <http://kamon.io/>
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
diff --git a/kamon-newrelic/src/main/scala/kamon/newrelic/Agent.scala b/kamon-newrelic/src/main/scala/kamon/newrelic/Agent.scala
index a73f390a..299773e4 100644
--- a/kamon-newrelic/src/main/scala/kamon/newrelic/Agent.scala
+++ b/kamon-newrelic/src/main/scala/kamon/newrelic/Agent.scala
@@ -49,7 +49,6 @@ class Agent extends Actor with RequestBuilding with ResponseTransformation with
"marshal_format" -> "json",
"protocol_version" -> "12")
-
def receive = {
case Initialize(runId, collector) ⇒
log.info("Agent initialized with runID: [{}] and collector: [{}]", runId, collector)
@@ -77,12 +76,11 @@ class Agent extends Actor with RequestBuilding with ResponseTransformation with
}
import AgentJsonProtocol._
- val compressedPipeline: HttpRequest ⇒ Future[HttpResponse] = logRequest(println(_)) ~>encode(Deflate) ~> sendReceive ~> logResponse(println(_))
+ val compressedPipeline: HttpRequest ⇒ Future[HttpResponse] = encode(Deflate) ~> sendReceive
val compressedToJsonPipeline: HttpRequest ⇒ Future[JsValue] = compressedPipeline ~> toJson
def toJson(response: HttpResponse): JsValue = response.entity.asString.asJson
-
def selectCollector: Future[String] = {
val query = ("method" -> "get_redirect_host") +: baseQuery
val getRedirectHostUri = Uri("http://collector.newrelic.com/agent_listener/invoke_raw_method").withQuery(query)
diff --git a/kamon-newrelic/src/main/scala/kamon/newrelic/MetricTranslator.scala b/kamon-newrelic/src/main/scala/kamon/newrelic/MetricTranslator.scala
index c3438df5..0162dd9c 100644
--- a/kamon-newrelic/src/main/scala/kamon/newrelic/MetricTranslator.scala
+++ b/kamon-newrelic/src/main/scala/kamon/newrelic/MetricTranslator.scala
@@ -16,14 +16,14 @@
package kamon.newrelic
-import akka.actor.{Props, ActorRef, Actor}
+import akka.actor.{ Props, ActorRef, Actor }
import kamon.metrics.Subscriptions.TickMetricSnapshot
import kamon.newrelic.MetricTranslator.TimeSliceMetrics
class MetricTranslator(receiver: ActorRef) extends Actor with WebTransactionMetrics {
def receive = {
- case TickMetricSnapshot(from, to, metrics) =>
+ case TickMetricSnapshot(from, to, metrics) ⇒
val scaledFrom = (from / 1E3).toInt
val scaledTo = (to / 1E3).toInt
val allMetrics = collectWebTransactionMetrics(metrics)
diff --git a/kamon-newrelic/src/main/scala/kamon/newrelic/NewRelic.scala b/kamon-newrelic/src/main/scala/kamon/newrelic/NewRelic.scala
index 92191842..6c7c11bd 100644
--- a/kamon-newrelic/src/main/scala/kamon/newrelic/NewRelic.scala
+++ b/kamon-newrelic/src/main/scala/kamon/newrelic/NewRelic.scala
@@ -18,11 +18,10 @@ package kamon.newrelic
import akka.actor._
import scala.concurrent.duration._
import kamon.Kamon
-import kamon.metrics.{TickMetricSnapshotBuffer, TraceMetrics, Metrics}
+import kamon.metrics.{ TickMetricSnapshotBuffer, TraceMetrics, Metrics }
import kamon.metrics.Subscriptions.TickMetricSnapshot
import akka.actor
-
class NewRelicExtension(system: ExtendedActorSystem) extends Kamon.Extension {
val config = system.settings.config.getConfig("kamon.newrelic")
@@ -40,11 +39,10 @@ class NewRelicManager extends Actor with ActorLogging {
val buffer = context.actorOf(TickMetricSnapshotBuffer.props(1 minute, translator), "metric-buffer")
def receive = {
- case tick: TickMetricSnapshot => buffer.forward(tick)
+ case tick: TickMetricSnapshot ⇒ buffer.forward(tick)
}
}
-
object NewRelic extends ExtensionId[NewRelicExtension] with ExtensionIdProvider {
def lookup(): ExtensionId[_ <: actor.Extension] = NewRelic
def createExtension(system: ExtendedActorSystem): NewRelicExtension = new NewRelicExtension(system)
diff --git a/kamon-newrelic/src/main/scala/kamon/newrelic/NewRelicErrorLogger.scala b/kamon-newrelic/src/main/scala/kamon/newrelic/NewRelicErrorLogger.scala
index 65a98cb1..0f177b9e 100644
--- a/kamon-newrelic/src/main/scala/kamon/newrelic/NewRelicErrorLogger.scala
+++ b/kamon-newrelic/src/main/scala/kamon/newrelic/NewRelicErrorLogger.scala
@@ -18,7 +18,7 @@ package kamon.newrelic
import akka.actor.Actor
import akka.event.Logging.Error
import akka.event.Logging.{ LoggerInitialized, InitializeLogger }
-import com.newrelic.api.agent.{NewRelic => NR}
+import com.newrelic.api.agent.{ NewRelic ⇒ NR }
import kamon.trace.TraceContextAware
class NewRelicErrorLogger extends Actor {
diff --git a/kamon-newrelic/src/main/scala/kamon/newrelic/WebTransactionMetrics.scala b/kamon-newrelic/src/main/scala/kamon/newrelic/WebTransactionMetrics.scala
index 31a3669d..11312104 100644
--- a/kamon-newrelic/src/main/scala/kamon/newrelic/WebTransactionMetrics.scala
+++ b/kamon-newrelic/src/main/scala/kamon/newrelic/WebTransactionMetrics.scala
@@ -22,7 +22,7 @@ import akka.actor.Actor
import kamon.Kamon
trait WebTransactionMetrics {
- self: Actor =>
+ self: Actor ⇒
def collectWebTransactionMetrics(metrics: Map[MetricGroupIdentity, MetricGroupSnapshot]): Seq[NewRelic.Metric] = {
val apdexBuilder = new ApdexBuilder("Apdex", None, (NewRelic)(context.system).apdexT)
@@ -32,9 +32,9 @@ trait WebTransactionMetrics {
case (TraceMetrics(name), groupSnapshot) ⇒
groupSnapshot.metrics collect {
- case (ElapsedTime, snapshot) =>
+ case (ElapsedTime, snapshot) ⇒
accumulatedHttpDispatcher = accumulatedHttpDispatcher.merge(snapshot)
- snapshot.measurementLevels.foreach(level => apdexBuilder.record(level.value / 1E9D, level.count))
+ snapshot.measurementLevels.foreach(level ⇒ apdexBuilder.record(level.value / 1E9D, level.count))
toNewRelicMetric(s"WebTransaction/Custom/$name", None, snapshot)
}
@@ -55,13 +55,12 @@ class ApdexBuilder(name: String, scope: Option[String], apdexT: Double) {
var frustrating = 0L
def record(duration: Double, count: Long): Unit =
- if(duration <= apdexT)
+ if (duration <= apdexT)
satisfying += count
+ else if (duration <= frustratingThreshold)
+ tolerating += count
else
- if(duration <= frustratingThreshold)
- tolerating += count
- else
- frustrating += count
+ frustrating += count
// NewRelic reuses the same metric structure for recording the Apdex.. weird, but that's how it works.
def build: NewRelic.Metric = NewRelic.Metric(name, scope, satisfying, tolerating, frustrating, apdexT, apdexT, 0)
diff --git a/kamon-newrelic/src/main/scala/kamon/newrelic/package.scala b/kamon-newrelic/src/main/scala/kamon/newrelic/package.scala
index bf83b049..76b40748 100644
--- a/kamon-newrelic/src/main/scala/kamon/newrelic/package.scala
+++ b/kamon-newrelic/src/main/scala/kamon/newrelic/package.scala
@@ -1,18 +1,16 @@
-/*
+/*=========================================================================================
+ * Copyright © 2013 the kamon project <http://kamon.io/>
*
- * * =========================================================================================
- * * Copyright © 2013 the kamon project <http://kamon.io/>
- * *
- * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
- * * except in compliance with the License. You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing, software distributed under the
- * * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
- * * either express or implied. See the License for the specific language governing permissions
- * * and limitations under the License.
- * * =========================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the
+ * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+ * either express or implied. See the License for the specific language governing permissions
+ * and limitations under the License.
+ * =========================================================================================
*
*/
@@ -27,7 +25,7 @@ package object newrelic {
var sumOfSquares: Double = 0D
val measurementLevels = snapshot.measurementLevels.iterator
- while(measurementLevels.hasNext) {
+ while (measurementLevels.hasNext) {
val level = measurementLevels.next()
// NewRelic metrics need to be scaled to seconds.
diff --git a/kamon-playground/src/main/scala/test/SimpleRequestProcessor.scala b/kamon-playground/src/main/scala/test/SimpleRequestProcessor.scala
index c518e32a..c04823be 100644
--- a/kamon-playground/src/main/scala/test/SimpleRequestProcessor.scala
+++ b/kamon-playground/src/main/scala/test/SimpleRequestProcessor.scala
@@ -13,7 +13,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
* ========================================================== */
-package test
+
+ package test
import akka.actor._
import spray.routing.SimpleRoutingApp
@@ -25,7 +26,7 @@ import scala.util.Random
import akka.routing.RoundRobinRouter
import kamon.trace.TraceRecorder
import kamon.Kamon
-import kamon.metrics.{TickMetricSnapshotBuffer, ActorMetrics, TraceMetrics, Metrics}
+import kamon.metrics.{ TickMetricSnapshotBuffer, ActorMetrics, TraceMetrics, Metrics }
import spray.http.{ StatusCodes, Uri }
import kamon.metrics.Subscriptions.TickMetricSnapshot
import kamon.newrelic.WebTransactionMetrics
diff --git a/kamon-spray/src/main/scala/kamon/spray/KamonTraceDirectives.scala b/kamon-spray/src/main/scala/kamon/spray/KamonTraceDirectives.scala
index e831af7b..fbbbfa01 100644
--- a/kamon-spray/src/main/scala/kamon/spray/KamonTraceDirectives.scala
+++ b/kamon-spray/src/main/scala/kamon/spray/KamonTraceDirectives.scala
@@ -25,7 +25,7 @@ import shapeless.HNil
import kamon.trace.TraceRecorder
trait KamonTraceDirectives extends BasicDirectives {
- def traceName(name: String): Directive0 = mapRequest { req =>
+ def traceName(name: String): Directive0 = mapRequest { req ⇒
TraceRecorder.rename(name)
req
}
diff --git a/kamon-spray/src/test/scala/kamon/spray/ServerRequestInstrumentationSpec.scala b/kamon-spray/src/test/scala/kamon/spray/ServerRequestInstrumentationSpec.scala
index d3d18a1b..1c5b56cd 100644
--- a/kamon-spray/src/test/scala/kamon/spray/ServerRequestInstrumentationSpec.scala
+++ b/kamon-spray/src/test/scala/kamon/spray/ServerRequestInstrumentationSpec.scala
@@ -27,7 +27,7 @@ import kamon.metrics.{ TraceMetrics, Metrics }
import kamon.metrics.Subscriptions.TickMetricSnapshot
class ServerRequestInstrumentationSpec extends TestKit(ActorSystem("spec")) with WordSpecLike with Matchers with RequestBuilding
- with ScalaFutures with PatienceConfiguration with TestServer {
+ with ScalaFutures with PatienceConfiguration with TestServer {
"the spray server request tracing instrumentation" should {
"reply back with the same trace token header provided in the request" in {