Class Aligner (2.12.1)

Stay organized with collections Save and categorize content based on your preferences.
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`.