Class Aligner (2.11.1)

Aligner(value)

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.

Values: ALIGN_NONE (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. ALIGN_DELTA (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.
ALIGN_RATE (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.
ALIGN_INTERPOLATE (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.
ALIGN_NEXT_OLDER (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.
ALIGN_MIN (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.
ALIGN_MAX (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.
ALIGN_MEAN (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`.
ALIGN_COUNT (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`.
ALIGN_SUM (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.
ALIGN_STDDEV (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`.
ALIGN_COUNT_TRUE (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`.
ALIGN_COUNT_FALSE (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`.
ALIGN_FRACTION_TRUE (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`.
ALIGN_PERCENTILE_99 (18):
    Align the time series by using `percentile
    aggregation <https://en.wikipedia.org/wiki/Percentile>`__.
    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`.
ALIGN_PERCENTILE_95 (19):
    Align the time series by using `percentile
    aggregation <https://en.wikipedia.org/wiki/Percentile>`__.
    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`.
ALIGN_PERCENTILE_50 (20):
    Align the time series by using `percentile
    aggregation <https://en.wikipedia.org/wiki/Percentile>`__.
    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`.
ALIGN_PERCENTILE_05 (21):
    Align the time series by using `percentile
    aggregation <https://en.wikipedia.org/wiki/Percentile>`__.
    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`.
ALIGN_PERCENT_CHANGE (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`.