Based on my experiments with adoption of metracer to JavaEE (link) a new version of metracer 1.0.5 was released. Source code of new 1.0.5 version: svn co https://github.com/kocherovms/develorium.com/tags/metracer_1.0.5/metracer
This version (1.0.5) brings two notable changes:
- no runtime dependencies are needed anymore for instrumented code. I.e. com.develorium.metracer.TracingState and com.develorium.metracer.TracingStateThreadLocal are eliminated. This means that it’s now possible to use metracer for JavaEE applications without the need to create artificial modules and modify dependencies of deployment units! All is needed is to pass metracer to JVM via javaagent opt!
- nice indentation of log entries which greatly eases logs reading. E.g.:
+++ com.develorium.metracertest.Unannotated.main(args = [Ljava.lang.String;@6f2b958e)
+++ com.develorium.metracertest.Unannotated.testB(theBool1 = false, theBool2 = true)
result of testB = 42
+++ com.develorium.metracertest.Unannotated.testC(theInt = 42, theFloat = 2.718, theDouble = 3.1415)
--- com.develorium.metracertest.Unannotated.testFaulty (by exception)
More fun with metracer is coming soon. Stay tuned!