package metrics
- Alphabetic
- Public
- Protected
Type Members
- trait Metric[+Type, -In, +Out] extends ZIOAspect[Nothing, Any, Nothing, Any, Nothing, In]
A
Metric[In, Out]
represents a concurrent metric, which accepts updates of typeIn
, which are aggregated to a stateful value of typeOut
.A
Metric[In, Out]
represents a concurrent metric, which accepts updates of typeIn
, which are aggregated to a stateful value of typeOut
.For example, a counter metric would have type
Metric[Double, Double]
, representing the fact that the metric can be updated with doubles (the amount to increment or decrement the counter by), and the state of the counter is a double.There are five primitive metric types supported by ZIO:
- Counters
- Frequencies
- Gauges
- Histograms
- Summaries
The companion object contains constructors for these primitive metrics. All metrics are derived from these primitive metrics.
- sealed case class MetricKey[+Type] extends Product with Serializable
A
MetricKey
is a unique key associated with each metric.A
MetricKey
is a unique key associated with each metric. The key is based on a combination of the metric type, the name and tags associated with the metric, and any other information to describe a a metric, such as the boundaries of a histogram. In this way, it is impossible to ever create different metrics with conflicting keys. - sealed trait MetricKeyType extends AnyRef
- final case class MetricLabel(key: String, value: String) extends Product with Serializable
A
MetricLabel
represents a key value pair that allows analyzing metrics at an additional level of granularity.A
MetricLabel
represents a key value pair that allows analyzing metrics at an additional level of granularity. For example if a metric tracks the response time of a service labels could be used to create separate versions that track response times for different clients. - final case class MetricPair[Type <: MetricKeyType { type Out = Out0 }, Out0](metricKey: MetricKey[Type], metricState: MetricState[Out0]) extends Product with Serializable
- sealed trait MetricState[+Type] extends AnyRef
A
MetricState
describes the state of a metric.A
MetricState
describes the state of a metric. The type parameter of a metric state corresponds to the type of the metric key (MetricKeyType). This phantom type parameter is used to tie keys to their expected states. - final case class Metrics extends Product with Serializable
- trait PollingMetric[-R, +E, +Out] extends AnyRef
A
PollingMetric[Type, Out]
is a combination of a metric and an effect that polls for updates to the metric.
Value Members
- object Metric
- object MetricKey extends Serializable
- object MetricKeyType
- object MetricPair extends Serializable
- object MetricState
- object PollingMetric