Enum google_api_proto::google::monitoring::v3::aggregation::Aligner
source · #[repr(i32)]pub enum Aligner {
Show 19 variants
AlignNone = 0,
AlignDelta = 1,
AlignRate = 2,
AlignInterpolate = 3,
AlignNextOlder = 4,
AlignMin = 10,
AlignMax = 11,
AlignMean = 12,
AlignCount = 13,
AlignSum = 14,
AlignStddev = 15,
AlignCountTrue = 16,
AlignCountFalse = 24,
AlignFractionTrue = 17,
AlignPercentile99 = 18,
AlignPercentile95 = 19,
AlignPercentile50 = 20,
AlignPercentile05 = 21,
AlignPercentChange = 23,
}
Expand description
The Aligner
specifies the operation that will be applied to the data
points in each alignment period in a time series. Except for
ALIGN_NONE
, which specifies that no operation be applied, each alignment
operation replaces the set of data values in each alignment period with
a single value: the result of applying the operation to the data values.
An aligned time series has a single data value at the end of each
alignment_period
.
An alignment operation can change the data type of the values, too. For
example, if you apply a counting operation to boolean values, the data
value_type
in the original time series is BOOLEAN
, but the value_type
in the aligned result is INT64
.
Variants§
AlignNone = 0
No alignment. Raw data is returned. Not valid if cross-series reduction
is requested. The value_type
of the result is the same as the
value_type
of the input.
AlignDelta = 1
Align and convert to
[DELTA][google.api.MetricDescriptor.MetricKind.DELTA].
The output is delta = y1 - y0
.
This alignment is valid for
[CUMULATIVE][google.api.MetricDescriptor.MetricKind.CUMULATIVE] and
DELTA
metrics. If the selected alignment period results in periods
with no data, then the aligned value for such a period is created by
interpolation. The value_type
of the aligned result is the same as
the value_type
of the input.
AlignRate = 2
Align and convert to a rate. The result is computed as
rate = (y1 - y0)/(t1 - t0)
, or “delta over time”.
Think of this aligner as providing the slope of the line that passes
through the value at the start and at the end of the alignment_period
.
This aligner is valid for CUMULATIVE
and DELTA
metrics with numeric values. If the selected alignment
period results in periods with no data, then the aligned value for
such a period is created by interpolation. The output is a GAUGE
metric with value_type
DOUBLE
.
If, by “rate”, you mean “percentage change”, see the
ALIGN_PERCENT_CHANGE
aligner instead.
AlignInterpolate = 3
Align by interpolating between adjacent points around the alignment
period boundary. This aligner is valid for GAUGE
metrics with
numeric values. The value_type
of the aligned result is the same as the
value_type
of the input.
AlignNextOlder = 4
Align by moving the most recent data point before the end of the
alignment period to the boundary at the end of the alignment
period. This aligner is valid for GAUGE
metrics. The value_type
of
the aligned result is the same as the value_type
of the input.
AlignMin = 10
Align the time series by returning the minimum value in each alignment
period. This aligner is valid for GAUGE
and DELTA
metrics with
numeric values. The value_type
of the aligned result is the same as
the value_type
of the input.
AlignMax = 11
Align the time series by returning the maximum value in each alignment
period. This aligner is valid for GAUGE
and DELTA
metrics with
numeric values. The value_type
of the aligned result is the same as
the value_type
of the input.
AlignMean = 12
Align the time series by returning the mean value in each alignment
period. This aligner is valid for GAUGE
and DELTA
metrics with
numeric values. The value_type
of the aligned result is DOUBLE
.
AlignCount = 13
Align the time series by returning the number of values in each alignment
period. This aligner is valid for GAUGE
and DELTA
metrics with
numeric or Boolean values. The value_type
of the aligned result is
INT64
.
AlignSum = 14
Align the time series by returning the sum of the values in each
alignment period. This aligner is valid for GAUGE
and DELTA
metrics with numeric and distribution values. The value_type
of the
aligned result is the same as the value_type
of the input.
AlignStddev = 15
Align the time series by returning the standard deviation of the values
in each alignment period. This aligner is valid for GAUGE
and
DELTA
metrics with numeric values. The value_type
of the output is
DOUBLE
.
AlignCountTrue = 16
Align the time series by returning the number of True
values in
each alignment period. This aligner is valid for GAUGE
metrics with
Boolean values. The value_type
of the output is INT64
.
AlignCountFalse = 24
Align the time series by returning the number of False
values in
each alignment period. This aligner is valid for GAUGE
metrics with
Boolean values. The value_type
of the output is INT64
.
AlignFractionTrue = 17
Align the time series by returning the ratio of the number of True
values to the total number of values in each alignment period. This
aligner is valid for GAUGE
metrics with Boolean values. The output
value is in the range [0.0, 1.0] and has value_type
DOUBLE
.
AlignPercentile99 = 18
Align the time series by using percentile
aggregation. The resulting
data point in each alignment period is the 99th percentile of all data
points in the period. This aligner is valid for GAUGE
and DELTA
metrics with distribution values. The output is a GAUGE
metric with
value_type
DOUBLE
.
AlignPercentile95 = 19
Align the time series by using percentile
aggregation. The resulting
data point in each alignment period is the 95th percentile of all data
points in the period. This aligner is valid for GAUGE
and DELTA
metrics with distribution values. The output is a GAUGE
metric with
value_type
DOUBLE
.
AlignPercentile50 = 20
Align the time series by using percentile
aggregation. The resulting
data point in each alignment period is the 50th percentile of all data
points in the period. This aligner is valid for GAUGE
and DELTA
metrics with distribution values. The output is a GAUGE
metric with
value_type
DOUBLE
.
AlignPercentile05 = 21
Align the time series by using percentile
aggregation. The resulting
data point in each alignment period is the 5th percentile of all data
points in the period. This aligner is valid for GAUGE
and DELTA
metrics with distribution values. The output is a GAUGE
metric with
value_type
DOUBLE
.
AlignPercentChange = 23
Align and convert to a percentage change. This aligner is valid for
GAUGE
and DELTA
metrics with numeric values. This alignment returns
((current - previous)/previous) * 100
, where the value of previous
is
determined based on the alignment_period
.
If the values of current
and previous
are both 0, then the returned
value is 0. If only previous
is 0, the returned value is infinity.
A 10-minute moving mean is computed at each point of the alignment period
prior to the above calculation to smooth the metric and prevent false
positives from very short-lived spikes. The moving mean is only
applicable for data whose values are >= 0
. Any values < 0
are
treated as a missing datapoint, and are ignored. While DELTA
metrics are accepted by this alignment, special care should be taken that
the values for the metric will always be positive. The output is a
GAUGE
metric with value_type
DOUBLE
.
Implementations§
source§impl Aligner
impl Aligner
sourcepub fn as_str_name(&self) -> &'static str
pub fn as_str_name(&self) -> &'static str
String value of the enum field names used in the ProtoBuf definition.
The values are not transformed in any way and thus are considered stable (if the ProtoBuf definition does not change) and safe for programmatic use.
sourcepub fn from_str_name(value: &str) -> Option<Self>
pub fn from_str_name(value: &str) -> Option<Self>
Creates an enum from field names used in the ProtoBuf definition.
Trait Implementations§
source§impl Ord for Aligner
impl Ord for Aligner
source§impl PartialEq for Aligner
impl PartialEq for Aligner
source§impl PartialOrd for Aligner
impl PartialOrd for Aligner
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl TryFrom<i32> for Aligner
impl TryFrom<i32> for Aligner
§type Error = UnknownEnumValue
type Error = UnknownEnumValue
impl Copy for Aligner
impl Eq for Aligner
impl StructuralPartialEq for Aligner
Auto Trait Implementations§
impl Freeze for Aligner
impl RefUnwindSafe for Aligner
impl Send for Aligner
impl Sync for Aligner
impl Unpin for Aligner
impl UnwindSafe for Aligner
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request