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

scaladog.api.metrics.Series.scala Maven / Gradle / Ivy

package scaladog.api.metrics

import java.time.Instant

import scaladog.api.DDPickle

case class Series(
    metric: String,
    points: Seq[Point],
    host: String = "",
    tags: Seq[String] = Seq.empty,
    @upickle.implicits.key("type") metricType: MetricType = MetricType.Gauge
)

object Series {
  implicit val writer: DDPickle.Writer[Series] = DDPickle.macroW
}

case class Point(timestamp: Instant, value: BigDecimal)

object Point {
  implicit val writer: DDPickle.Writer[Point] =
    DDPickle.writer[ujson.Arr].comap(p => ujson.Arr(p.timestamp.getEpochSecond, p.value.toString()))
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy