All Downloads are FREE. Search and download functionalities are using the official Maven repository.

dev.chopsticks.metric.MetricSummary.scala Maven / Gradle / Ivy

package dev.chopsticks.metric

import zio.ZIO
import zio.clock.Clock

trait MetricSummary {
  def observe(value: Double): Unit
  def observe(value: Long): Unit = observe(value.toDouble)
  def observe(value: Int): Unit = observe(value.toDouble)

  def timeM[R, E, A](f: ZIO[R, E, A]): ZIO[R with Clock, E, A] = {
    f.timed.map {
      case (d, v) =>
        observe(d.toNanos)
        v
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy