aboutsummaryrefslogtreecommitdiff
path: root/kamon-akka/src/main/resources
diff options
context:
space:
mode:
authorIvan Topolnjak <ivantopo@gmail.com>2014-12-28 07:59:59 +0100
committerIvan Topolnjak <ivantopo@gmail.com>2014-12-28 18:15:48 +0100
commit4d0e37594cb223b091ba2ec126eabe89ac8c13f8 (patch)
tree5989bcd31a1055fb8a9481c764ae7c6e3ad668bb /kamon-akka/src/main/resources
parent0be6a850b1e458bdc961c956daddb8d8cc1682b5 (diff)
downloadKamon-4d0e37594cb223b091ba2ec126eabe89ac8c13f8.tar.gz
Kamon-4d0e37594cb223b091ba2ec126eabe89ac8c13f8.tar.bz2
Kamon-4d0e37594cb223b091ba2ec126eabe89ac8c13f8.zip
! core,akka: separate all akka instrumentation into it's own kamon-akka module, related to #136.
All Akka-related instrumentation and code has been moved to the kamon-akka module, including the filters for actor, dispatcher and router metrics. Also the following changes are included: - Router Metrics are now working properly, related to #139. - Cleanup the log output for this module, related to #142. - Some minor cleanups in various tests. This PR breaks the reporting modules which will need to wait for #141 to be ready to come back to life.
Diffstat (limited to 'kamon-akka/src/main/resources')
-rw-r--r--kamon-akka/src/main/resources/META-INF/aop.xml34
-rw-r--r--kamon-akka/src/main/resources/reference.conf51
2 files changed, 85 insertions, 0 deletions
diff --git a/kamon-akka/src/main/resources/META-INF/aop.xml b/kamon-akka/src/main/resources/META-INF/aop.xml
new file mode 100644
index 00000000..46e63f91
--- /dev/null
+++ b/kamon-akka/src/main/resources/META-INF/aop.xml
@@ -0,0 +1,34 @@
+<!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" "http://www.eclipse.org/aspectj/dtd/aspectj.dtd">
+
+<aspectj>
+ <aspects>
+
+ <!-- Actors -->
+ <aspect name="akka.kamon.instrumentation.TraceContextIntoRepointableActorRefMixin"/>
+ <aspect name="akka.kamon.instrumentation.TraceContextIntoSystemMessageMixin"/>
+ <aspect name="akka.kamon.instrumentation.ActorSystemMessageInstrumentation"/>
+ <aspect name="akka.kamon.instrumentation.TraceContextIntoEnvelopeMixin"/>
+ <aspect name="akka.kamon.instrumentation.MetricsIntoActorCellsMixin"/>
+ <aspect name="akka.kamon.instrumentation.ActorCellInstrumentation"/>
+ <aspect name="akka.kamon.instrumentation.RoutedActorCellInstrumentation"/>
+ <aspect name="akka.kamon.instrumentation.ActorLoggingInstrumentation"/>
+
+ <!-- Dispatchers -->
+ <aspect name="akka.kamon.instrumentation.DispatcherInstrumentation"/>
+ <aspect name="akka.kamon.instrumentation.DispatcherMetricCollectionInfoIntoDispatcherMixin"/>
+
+ <!-- Patterns -->
+ <aspect name="akka.kamon.instrumentation.AskPatternInstrumentation"/>
+ </aspects>
+
+ <weaver>
+ <include within="akka..*"/>
+
+ <!-- For some weird reason ByteString produces a java.lang.VerifyError after going through the weaver. -->
+ <exclude within="akka.util.ByteString"/>
+
+ <!-- Exclude CallingThreadDispatcher, is only for test purposes -->
+ <exclude within="akka.testkit.CallingThreadDispatcher"/>
+ </weaver>
+
+</aspectj> \ No newline at end of file
diff --git a/kamon-akka/src/main/resources/reference.conf b/kamon-akka/src/main/resources/reference.conf
new file mode 100644
index 00000000..4f742ee6
--- /dev/null
+++ b/kamon-akka/src/main/resources/reference.conf
@@ -0,0 +1,51 @@
+# ================================== #
+# Kamon-Akka Reference Configuration #
+# ================================== #
+
+kamon {
+ akka {
+ # If ask-pattern-timeout-warning is enabled, a WARN level log message will be generated if a future generated by the `ask`
+ # pattern fails with a `AskTimeoutException` and the log message will contain information depending of the strategy selected.
+ # strategies:
+ # - off: nothing to do.
+ # - lightweight: logs the warning when a timeout is reached using org.aspectj.lang.reflect.SourceLocation.
+ # - heavyweight: logs the warning when a timeout is reached using a stack trace captured at the moment the future was created.
+ ask-pattern-timeout-warning = off
+
+ # Default dispatcher for all akka module operations
+ dispatcher = ${kamon.default-dispatcher}
+ }
+
+ metrics.precision {
+ actor {
+ processing-time = ${kamon.metrics.precision.default-histogram-precision}
+ time-in-mailbox = ${kamon.metrics.precision.default-histogram-precision}
+ mailbox-size = ${kamon.metrics.precision.default-min-max-counter-precision}
+ }
+
+ router {
+ routing-time = ${kamon.metrics.precision.default-histogram-precision}
+ processing-time = ${kamon.metrics.precision.default-histogram-precision}
+ time-in-mailbox = ${kamon.metrics.precision.default-histogram-precision}
+ }
+
+ dispatcher {
+ maximum-pool-size {
+ highest-trackable-value = 999999999
+ significant-value-digits = 2
+ }
+ running-thread-count {
+ highest-trackable-value = 999999999
+ significant-value-digits = 2
+ }
+ queued-task-count {
+ highest-trackable-value = 999999999
+ significant-value-digits = 2
+ }
+ pool-size {
+ highest-trackable-value = 999999999
+ significant-value-digits = 2
+ }
+ }
+ }
+} \ No newline at end of file