Home

Awesome

Metrics plugin for Play Framework 2

The development of this library has been discontinued.

This plugin makes it easier to use Coda Hale Metrics in a Play 2 application by providing a mechanism to configure metrics reporting using Play's default configuration support.

Installation

Add the following dependencies to use Coda Hale Metrics in your project:

"com.yammer.metrics" % "metrics-core" % "2.2.0"
"nl.grons" %% "metrics-scala" % "2.2.0"

Add the following dependency to use this plugin:

libraryDependencies += "com.github.sdb" %% "play2-metrics" % "0.1.0"

Or, if you want to use a snapshot version:

resolvers += "Sonatype snapshots" at "http://oss.sonatype.org/content/repositories/snapshots/"

libraryDependencies += "com.github.sdb" %% "play2-metrics" % "0.1.0-SNAPSHOT"

Register the plugin by adding it to conf/play.plugins:

100:com.github.sdb.play2.metrics.MetricsPlugin

Configuration

Defaults

This is the default configuration used by this plugin (see conf/reference.conf):

metrics {
    reporting {
        console {
            enabled = false
            period = 1
            unit = MINUTES
        }

        csv {
            enabled = false
            period = 1
            unit = MINUTES
            output = "."
        }

        graphite {
            enabled = false
            period = 1
            unit = MINUTES
            host = localhost
            port = 2003
        }

        ganglia {
            enabled = false
            period = 1
            unit = MINUTES
            host = localhost
            port = 8649
        }
    }
}

Reporting Configuration

Reporting to Graphite

Add the following dependency if you want to send metrics to a Graphite instance:

"com.yammer.metrics" % "metrics-graphite" % "2.2.0"

Example configuration for reporting metrics to Graphite:

metrics {
    reporting {
        graphite {
            enabled = true
            period = 1
            unit = MINUTES
            host = carbon.hostedgraphite.com
            port = 2003
            prefix = "apikey"
        }
    }
}

Reporting to Console

Example configuration for reporting metrics to the console:

metrics {
    reporting {
        console {
            enabled = true
            period = 1
            unit = MINUTES
        }
    }
}

Configuration on Heroku

When deploying on Heroku you can use the Hosted Graphite add-on for your metrics. You should add the following system properties to the Procfile:

An example Procfile:

web: target/start -Dhttp.port=$PORT -Dmetrics.reporting.graphite.enabled=true -Dmetrics.reporting.graphite.host=carbon.hostedgraphite.com -Dmetrics.reporting.graphite.prefix=$HOSTEDGRAPHITE_APIKEY $JAVA_OPTS

Compatibility

play2-metricsPlayMetrics
0.1.02.1.02.2.0

Licence

This software is licensed under the Apache 2 license, quoted below.

Copyright 2013 Stefan De Boey

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this project except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.