scala import com.codahale.metrics._ class ProductService { val requestsCounter: Counter = Metrics.counter("requests") val responseTimer: Timer = Metrics.timer("response-time") def processRequest(request: Request): Response = { val context: Timer.Context = responseTimer.time() try { requestsCounter.inc() // ... } finally { context.stop() } } } object Metrics { val registry: MetricRegistry = new MetricRegistry() def counter(name: String): Counter = registry.counter(name) def timer(name: String): Timer = registry.timer(name) } scala import com.codahale.metrics._ object Main { val reporter: ConsoleReporter = ConsoleReporter.forRegistry(Metrics.registry) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .build() def main(args: Array[String]): Unit = { // ... // ... reporter.start(10, TimeUnit.SECONDS) } }


上一篇:
下一篇:
切换中文