Skip to content

benjumanji/util-stats-dropwizard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dropwizard StatsReceiver for use with twitter-util StatsRecievers

There is one major use case this is designed for: finagle. To use with finagle simply include the library on the class path, it will be loaded automatically via the LoadService class and added to the DefaultReciever. You can then use the default reciever safe in the knowledge that all your stats are being collected into a Drowpwizard metrics registry. To get them back out again simply grab the registry from the companion object and use as you would any other registry for reporting. An example

// other imports...

import io.artfuldodge.util.stats.MetricsStatsReceiver

object FinagleThing extends App {

  val service = new Service[Request, Response] {
    def apply(req: Request) = {
      Future.const(Response(Status.Ok))
    }
  }

  val server = Httpx.server(":*", service)
  val registry = MetricsStatsReceiver.registry

  val reporter = ConsoleReporter.forRegistry(registry)
    .convertRatesTo(TimeUnit.SECONDS)
    .convertDurationsTo(TimeUnit.MILLISECONDS)
    .build()
  reporter.start(1, TimeUnit.SECONDS)

  Await.ready(server)
}

And you will start seeing all the lovely stats that a finagle server exports be default appearing in your console.

To add to your sbt project:

resolvers += "benjumanji" at "http://dl.bintray.com/benjumanji/maven"
libraryDependencies += "io.artfuldodge" %% "util-stats-dropwizard" % "0.3.1"

About

Twitter util / Finagle StatsReceiver backed by Dropwizard Metrics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages