We are really happy to announce that Kamon 0.3.2/0.2.2 is now available for download! This version comes with many improvements under the hood that reduce the memory footprint and processing time overhead when collecting metrics and introduce a simple yet very powerful tool: User Metrics. Now you can take advantage of all the goodies that we developed for recording metrics and use them at your own will: want to count how many logins you had in your app?, you have it; want to record the number of elements in a shopping cart when checking out? you have it, using the new UserMetrics extension.

One additional feature that will help anyone that wants metrics on the JVM is KamonStandalone. With this new helper you can create a very simple embedded version of the Kamon Metrics extension and record your own metrics, pretty much the same way you do with other metrics libraries (such as Codahale Metrics) but reusing the Kamon foundations and metrics backends.

We are also shipping two new modules in this release: the first is a very simple log reporter, kamon-log-reporter that as you might already guess, takes the actors, traces and user metrics data and logs it in a simple ascii table format, this can be really helpful when doing some local testing and debugging. The second module we are introducing with this release is the kamon-system-metrics module, which collects CPU, Memory, Heap, Garbage Collection and Network Traffic metrics using the Metrics extension, making this data available to all subscribers using the subscriptions protocol. This module is currently considered experiment so please use with care and report any issue that you might experience with it.

In terms of compatibility, the released versions are:

  • 0.3.2 is compatible with Akka 2.3, Spray 1.3, Play 2.3 and Scala 2.10.x/2.11.x
  • 0.2.2 is compatible with Akka 2.2, Spray 1.2, Play 2.2 and Scala 2.10.x

And finally, here is a slightly more detailed summary of what is included in this release:

  • kamon-core
    • Introduce a inline variant of TraceRecorder.withTraceContext via macros.
    • Refactor the internal implementation metrics collection, more details on this will be blogged soon.
    • Introduce support for User Metrics, now you can ask Kamon for a Histogram, Counter or Gauge and record your own measurements.
    • Created KamonStandalone, a simple helper that embeds a ActorSystem for people who want metrics but is not using the reactive stack.
    • Log a warning message when the Metrics extension is loaded and the AspectJ weaver is missing.
  • kamon-play
    • Record HTTP Server Metrics.
    • Introduce a logger instrumentation that allows taking values from TraceLocalStorate to MDC.
  • kamon-spray
    • Record HTTP Server Metrics.
  • kamon-log-reporter
    • This new module simply outputs trace, actor and user metrics to the log in a simple ascii table format, useful for local testing and debugging.
  • kamon-system-metrics (Experimental)
    • We have a new System Metrics module that collects CPU, Memory, Heap, Garbage Collection and Network Traffic metrics.