The type of the underlying primitive metric.
The type of the underlying primitive metric. For example, this could be MetricKeyType.Counter or MetricKeyType.Gauge.
Returns a new aspect that represents the sequential composition of this aspect with the specified one.
Returns a new aspect that represents the sequential composition of this aspect with the specified one.
Applies the metric computation to the result of the specified effect.
Returns a new metric that is powered by this one, but which accepts updates of the specified new type, which must be transformable to the input type of this metric.
Returns a new aspect that flips the behavior it applies to error and success channels.
Returns a new aspect that flips the behavior it applies to error and success channels. If the old aspect affected success values in some way, then the new aspect will affect error values in the same way.
Returns a new metric that is powered by this one, but which accepts updates of any type, and translates them to updates with the specified constant update value.
Returns a new metric that is powered by this one, but which outputs a new state type, determined by transforming the state type of this metric by the specified function.
Modifies the metric with the specified update message.
Modifies the metric with the specified update message. For example, if the metric were a gauge, the update would increment the method by the provided amount.
Returns a new metric, which is identical in every way to this one, except the specified tags have been added to the tags of this metric.
Returns a new metric, which is identical in every way to this one, except the specified tags have been added to the tags of this metric.
Returns a new metric, which is identical in every way to this one, except the specified tag will be added to the tags of this metric.
Returns a new metric, which is identical in every way to this one, except dynamic tags are added based on the update values.
Returns a new metric, which is identical in every way to this one, except dynamic tags are added based on the update values. Note that the metric returned by this method does not return any useful information, due to the dynamic nature of the added tags.
Returns a ZIOAspect that will update this metric with the specified constant value every time the aspect is applied to an effect, regardless of whether that effect fails or succeeds.
Returns a ZIOAspect that will update this metric with the throwable defects of the effects that it is applied to.
Returns a ZIOAspect that will update this metric with the throwable defects
of the effects that it is applied to. To call this method, the input type
of the metric must be Throwable
.
Returns a ZIOAspect that will update this metric with the result of applying the specified function to the defect throwables of the effects that the aspect is applied to.
Returns a ZIOAspect that will update this metric with the duration that the effect takes to execute.
Returns a ZIOAspect that will update this metric with the duration that the
effect takes to execute. To call this method, the input type of the metric
must be Duration
.
Returns a ZIOAspect that will update this metric with the duration that the effect takes to execute.
Returns a ZIOAspect that will update this metric with the duration that the effect takes to execute. To call this method, you must supply a function that can convert the Duration to the input type of this metric.
Returns a ZIOAspect that will update this metric with the failure value of the effects that it is applied to.
Returns a ZIOAspect that will update this metric with the result of applying the specified function to the error value of the effects that the aspect is applied to.
Returns a ZIOAspect that will update this metric with the success value of the effects that it is applied to.
Returns a ZIOAspect that will update this metric with the result of applying the specified function to the success value of the effects that the aspect is applied to.
Updates the metric with the specified update message.
Updates the metric with the specified update message. For example, if the metric were a counter, the update would increment the method by the provided amount.
Retrieves a snapshot of the value of the metric at this moment in time.
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:
The companion object contains constructors for these primitive metrics. All metrics are derived from these primitive metrics.