Have you ever wondered what happens underneath an application runtime such as Akka? How does its introduction into an application change the underlying execution model and call semantics? What are the runtime (overhead) costs in adopting this new programming model (actors and mailboxes)? How does it change how applications are monitored and managed? Well a number of our customers have been asking such questions, in particular how should they instrument such runtimes ensuring measurements collected have much more relevance with the more significant instrumentation and measurement that is performed above and below the runtime. When such questions are posed we ask ourselves whether there is any real value to be obtained in instrumenting core classes within a runtime that can’t already be gleaned from the application (caller) code base, which is nearly in all cases a much more efficient approach due to the adaptive nature of our metering runtime. With the wrong instrumentation and measurement approach you can very easily restrict the usage of the runtime to a particular class of application and services – those less performance and throughput sensitive.

http://www.jinspired.com/site/performance-instrumentation-monitoring-of-an-efficient-runtime-akka-part-1