Kamon's integration with Akka comes in the form of two modules: kamon-akka
and kamon-akka-remote
that bring bytecode
instrumentation to gather metrics and perform automatic TraceContext
propagation on your behalf.
The kamon-akka module require you to start your application using the AspectJ Weaver Agent. Kamon will warn you at startup if you failed to do so.
Kamon akka module is currently available for Scala 2.10, 2.11 and 2.12.
Supported releases and dependencies are shown below.
kamon-akka-2.3 | status | jdk | scala | akka |
---|---|---|---|---|
0.6.7 | stable | 1.7+, 1.8+ | 2.10, 2.11 | 2.3.x |
kamon-akka-2.4 | status | jdk | scala | akka |
---|---|---|---|---|
0.6.7 | stable | 1.7+, 1.8+ | 2.11, 2.12 | 2.4.x |
kamon-akka-2.5 | status | jdk | scala | akka |
---|---|---|---|---|
0.6.7 | stable | 1.8+ | 2.11, 2.12 | 2.5.x |
To get started with SBT, simply add the following to your build.sbt
file:
libraryDependencies += "io.kamon" %% "kamon-akka-2.5" % "0.6.7"
Here is a quick list of the functionalities included in the module:
- Actor, Router and Dispatcher Metrics: This module hooks into Akka's heart to give you a robust set of metrics based on the concepts already exposed by our metrics module.
- Automatic TraceContext Propagation: This allows you to implicitly propagate the
TraceContext
across actor messages without having to change a single line of code and respecting the "follow the events" rather than "stick to the thread" convention as described in the event based threading model section. - Ask Pattern Timeout Warning: A utility that logs a warning with additional information when a usage of the Ask Pattern timesout.