Monitoring

Just like debugging, monitoring depends on type of the system you're building. Generally speaking, your stats are either being fetched by the monitoring system of your choice ('pull') or are pushed into it ('push').

The following is a short list of examples of the libraries and plugins that have some sort of Scala wrappers or integration, even if it is only valid for specific system (such as Play).

This list is not complete by any means, but it includes examples of what is available today.

  1. Ostrich is an example of a Pull logging system. It's quite generic and can be used in any Scala based project. It makes use of an in-process lightweight web server.
  2. This StatsD plugin integrates Play with a running StatsD server.
  3. Metrics-scala Is a library that can be used in any Scala based project. It's a mix of push and pull strategies. It's JMX compatible, exposes metrics on the same server, and has integration with Graphite and Ganglia.