Kamon’s integration with Akka comes in the form of two modules:
kamon-akka-remote that bring bytecode
instrumentation to gather metrics and perform automatic
TraceContext propagation on your behalf.
Both the kamon-akka and kamon-akka-remote modules require you to start your application using the AspectJ Weaver Agent. Kamon will warn you at startup if you failed to do so.
Here is a quick list of the functionalities included on each module:
TraceContextacross 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 of our core module.
TraceContextinformation to be propagated across the remoting channel provided by Akka. This hooks in the low level remoting implementation that ships with Akka, which means it will propagate the
TraceContextwhen using plain remoting as well as when using the Akka Cluster.
If you are using Akka Remote 2.4 or Akka Cluster 2.4, please make sure that you are using the kamon-akka-remote_akka-2.4 artifact instead of the regular kamon-akka-remote.