diff options
author | Ivan Topolnjak <ivantopo@gmail.com> | 2015-02-14 13:50:36 +0100 |
---|---|---|
committer | Ivan Topolnjak <ivantopo@gmail.com> | 2015-02-14 13:50:36 +0100 |
commit | e931727454fbd97fb39d163255edbcdcd7bcdbc6 (patch) | |
tree | 98b4bdcaa1af1dbbf201036ce05021bc096db62f /kamon-playground/src/main | |
parent | 8af0dfb1e2c8892023dd1bc6fbae1dae2ffb16ba (diff) | |
parent | 66b35556aa1bf0975cefa35603660991cdfcc526 (diff) | |
download | Kamon-e931727454fbd97fb39d163255edbcdcd7bcdbc6.tar.gz Kamon-e931727454fbd97fb39d163255edbcdcd7bcdbc6.tar.bz2 Kamon-e931727454fbd97fb39d163255edbcdcd7bcdbc6.zip |
Merge branch 'single-kamon-instance-per-jvm' into release-legacy-akka-2.2
Conflicts:
kamon-akka-remote/src/test/scala/kamon/akka/instrumentation/RemotingInstrumentationSpec.scala
kamon-core/src/main/scala/kamon/instrumentation/akka/ActorCellInstrumentation.scala
kamon-core/src/main/scala/kamon/instrumentation/akka/AskPatternInstrumentation.scala
kamon-core/src/main/scala/kamon/metric/MetricsExtension.scala
kamon-core/src/main/scala/kamon/metric/Subscriptions.scala
kamon-core/src/main/scala/kamon/metric/instrument/Gauge.scala
kamon-core/src/main/scala/kamon/metric/instrument/MinMaxCounter.scala
kamon-core/src/test/scala/kamon/instrumentation/akka/ActorCellInstrumentationSpec.scala
kamon-core/src/test/scala/kamon/metric/ActorMetricsSpec.scala
kamon-core/src/test/scala/kamon/metric/RouterMetricsSpec.scala
kamon-core/src/test/scala/kamon/metric/SubscriptionsProtocolSpec.scala
kamon-core/src/test/scala/kamon/metric/TickMetricSnapshotBufferSpec.scala
kamon-core/src/test/scala/kamon/metric/TraceMetricsSpec.scala
kamon-core/src/test/scala/kamon/metric/UserMetricsSpec.scala
kamon-core/src/test/scala/kamon/trace/TraceContextManipulationSpec.scala
kamon-datadog/src/main/scala/kamon/datadog/Datadog.scala
kamon-newrelic/src/main/scala/kamon/newrelic/Agent.scala
kamon-newrelic/src/main/scala/kamon/newrelic/MetricReporter.scala
kamon-play/src/main/scala/kamon/play/Play.scala
kamon-play/src/main/scala/kamon/play/action/KamonTraceActions.scala
kamon-play/src/main/scala/kamon/play/instrumentation/RequestInstrumentation.scala
kamon-play/src/main/scala/kamon/play/instrumentation/WSInstrumentation.scala
kamon-play/src/test/scala/kamon/play/RequestInstrumentationSpec.scala
kamon-statsd/src/main/scala/kamon/statsd/StatsD.scala
project/Dependencies.scala
version.sbt
Diffstat (limited to 'kamon-playground/src/main')
-rw-r--r-- | kamon-playground/src/main/resources/application.conf | 91 | ||||
-rw-r--r-- | kamon-playground/src/main/scala/test/SimpleRequestProcessor.scala | 30 |
2 files changed, 23 insertions, 98 deletions
diff --git a/kamon-playground/src/main/resources/application.conf b/kamon-playground/src/main/resources/application.conf index 86a87439..74e710bc 100644 --- a/kamon-playground/src/main/resources/application.conf +++ b/kamon-playground/src/main/resources/application.conf @@ -1,6 +1,5 @@ akka { loglevel = DEBUG - extensions = ["kamon.newrelic.NewRelic"] actor { debug { @@ -16,84 +15,26 @@ spray.can { } kamon { - newrelic { - app-name = "SimpleRequestProcessor" - license-key = e7d350b14228f3d28f35bc3140df2c3e565ea5d5 - } -} - -kamon.statsd { - hostname = "192.168.59.103" - simple-metric-key-generator { - metric-name-normalization-strategy = percent-encode + trace { + level = simple-trace } -} - -kamon { - metrics { - tick-interval = 1 second - - filters = [ - { - actor { - includes = [ "user/simple-service-actor" ] - excludes = [ "system/*", "user/IO-*" ] - } - }, - { - trace { - includes = [ "*" ] - excludes = [] - } - }, - { - dispatcher { - includes = [ "akka.actor.default-dispatcher" ] - excludes = [] - } - }, - { - custom-metric { - includes = [ "*" ] - excludes = [ ] - } - }, - { - router { - includes = [ "user/replier" ] - excludes = [ "system/*", "user/IO-*" ] - } - } - ] - precision { - actor { - processing-time { - highest-trackable-value = 3600000000000 - significant-value-digits = 1 - } - time-in-mailbox { - highest-trackable-value = 3600000000000 - significant-value-digits = 1 - } - mailbox-size { - highest-trackable-value = 99999999 - significant-value-digits = 1 - } - } + metric { + filters { + trace.includes = [ "**" ] + actor.includes = [ "**" ] } } -} - + newrelic { + app-name = "SimpleRequestProcessor" + license-key = e7d350b14228f3d28f35bc3140df2c3e565ea5d5 + } -kamon { - metrics { - actors { - tracked = [ - "user/simple-service-actor", - "other" - ] - } + modules { + kamon-newrelic.auto-start = no + kamon-datadog.auto-start = no + kamon-log-reporter.auto-start = no + kamon-system-metrics.auto-start = no } -}
\ No newline at end of file +} diff --git a/kamon-playground/src/main/scala/test/SimpleRequestProcessor.scala b/kamon-playground/src/main/scala/test/SimpleRequestProcessor.scala index b548b057..7a38e790 100644 --- a/kamon-playground/src/main/scala/test/SimpleRequestProcessor.scala +++ b/kamon-playground/src/main/scala/test/SimpleRequestProcessor.scala @@ -20,10 +20,10 @@ import akka.actor._ import akka.routing.RoundRobinRouter import akka.util.Timeout import kamon.Kamon -import kamon.metric.Subscriptions.TickMetricSnapshot +import kamon.metric.SubscriptionsDispatcher.TickMetricSnapshot import kamon.metric._ import kamon.spray.KamonTraceDirectives -import kamon.trace.{ SegmentCategory, TraceRecorder } +import kamon.trace.{ TraceContext, SegmentCategory } import spray.http.{ StatusCodes, Uri } import spray.httpx.RequestBuilding import spray.routing.SimpleRoutingApp @@ -38,6 +38,7 @@ object SimpleRequestProcessor extends App with SimpleRoutingApp with RequestBuil import scala.concurrent.duration._ implicit val system = ActorSystem("test") + Kamon.start() import test.SimpleRequestProcessor.system.dispatcher val printer = system.actorOf(Props[PrintWhatever]) @@ -46,26 +47,9 @@ object SimpleRequestProcessor extends App with SimpleRoutingApp with RequestBuil def receive: Actor.Receive = { case any ⇒ sender ! any } }), "com") - //val buffer = system.actorOf(TickMetricSnapshotBuffer.props(30 seconds, printer)) - - //Kamon(Metrics).subscribe(CustomMetric, "*", buffer, permanently = true) - //Kamon(Metrics).subscribe(ActorMetrics, "*", printer, permanently = true) - implicit val timeout = Timeout(30 seconds) - val counter = Kamon(UserMetrics).registerCounter("requests") - Kamon(UserMetrics).registerCounter("requests-2") - Kamon(UserMetrics).registerCounter("requests-3") - - Kamon(UserMetrics).registerHistogram("histogram-1") - Kamon(UserMetrics).registerHistogram("histogram-2") - - Kamon(UserMetrics).registerMinMaxCounter("min-max-counter-1") - Kamon(UserMetrics).registerMinMaxCounter("min-max-counter-2") - Kamon(UserMetrics).registerMinMaxCounter("min-max-counter-3") - - //Kamon(UserMetrics).registerGauge("test-gauge")(() => 10L) - + val counter = Kamon.userMetrics.counter("requests") val pipeline = sendReceive val replier = system.actorOf(Props[Replier].withRouter(RoundRobinRouter(nrOfInstances = 4)), "replier") @@ -132,7 +116,7 @@ object SimpleRequestProcessor extends App with SimpleRoutingApp with RequestBuil } ~ path("segment") { complete { - val segment = TraceRecorder.currentContext.startSegment("hello-world", SegmentCategory.HttpClient, "none") + val segment = TraceContext.currentContext.startSegment("hello-world", SegmentCategory.HttpClient, "none") (replier ? "hello").mapTo[String].onComplete { t ⇒ segment.finish() } @@ -178,7 +162,7 @@ object Verifier extends App { class Replier extends Actor with ActorLogging { def receive = { case anything ⇒ - if (TraceRecorder.currentContext.isEmpty) + if (TraceContext.currentContext.isEmpty) log.warning("PROCESSING A MESSAGE WITHOUT CONTEXT") //log.info("Processing at the Replier, and self is: {}", self) @@ -195,6 +179,6 @@ object PingPong extends App { def receive: Actor.Receive = { case "ping" ⇒ sender ! "pong" } })) - pinger.tell("pong", ponger) + //pinger.tell("pong", ponger) } |