libraryDependencies += "nl.grons" %% "metrics-scala" % "4.1.14" scala import com.codahale.metrics.{Counter, Timer} import nl.grons.metrics.scala.DefaultInstrumented class MyLibrary extends DefaultInstrumented { private val counter: Counter = metrics.counter("my-counter") private val timer: Timer = metrics.timer("my-timer") def process(): Unit = { counter.inc() val context = timer.time() try { } finally { context.stop() } } } scala import java.util.concurrent.TimeUnit import com.codahale.metrics.ConsoleReporter object Main extends App { val myLibrary = new MyLibrary() val reporter = ConsoleReporter.forRegistry(myLibrary.metricRegistry) .convertRatesTo(TimeUnit.SECONDS) .convertDurationsTo(TimeUnit.MILLISECONDS) .build() reporter.start(1, TimeUnit.SECONDS) myLibrary.process() reporter.stop() }


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