Enum Aggregation.Aligner

  • All Implemented Interfaces:
    com.google.protobuf.Internal.EnumLite, com.google.protobuf.ProtocolMessageEnum, Serializable, Comparable<Aggregation.Aligner>
    Enclosing class:
    Aggregation

    public static enum Aggregation.Aligner
    extends Enum<Aggregation.Aligner>
    implements com.google.protobuf.ProtocolMessageEnum
     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`.
     
    Protobuf enum google.monitoring.v3.Aggregation.Aligner
    • Enum Constant Detail

      • ALIGN_NONE

        public static final Aggregation.Aligner ALIGN_NONE
         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_NONE = 0;
      • ALIGN_DELTA

        public static final Aggregation.Aligner ALIGN_DELTA
         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_DELTA = 1;
      • ALIGN_RATE

        public static final Aggregation.Aligner ALIGN_RATE
         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_RATE = 2;
      • ALIGN_INTERPOLATE

        public static final Aggregation.Aligner ALIGN_INTERPOLATE
         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_INTERPOLATE = 3;
      • ALIGN_NEXT_OLDER

        public static final Aggregation.Aligner ALIGN_NEXT_OLDER
         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_NEXT_OLDER = 4;
      • ALIGN_MIN

        public static final Aggregation.Aligner ALIGN_MIN
         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_MIN = 10;
      • ALIGN_MAX

        public static final Aggregation.Aligner ALIGN_MAX
         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_MAX = 11;
      • ALIGN_MEAN

        public static final Aggregation.Aligner ALIGN_MEAN
         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_MEAN = 12;
      • ALIGN_COUNT

        public static final Aggregation.Aligner ALIGN_COUNT
         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_COUNT = 13;
      • ALIGN_SUM

        public static final Aggregation.Aligner ALIGN_SUM
         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_SUM = 14;
      • ALIGN_STDDEV

        public static final Aggregation.Aligner ALIGN_STDDEV
         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_STDDEV = 15;
      • ALIGN_COUNT_TRUE

        public static final Aggregation.Aligner ALIGN_COUNT_TRUE
         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_TRUE = 16;
      • ALIGN_COUNT_FALSE

        public static final Aggregation.Aligner ALIGN_COUNT_FALSE
         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_COUNT_FALSE = 24;
      • ALIGN_FRACTION_TRUE

        public static final Aggregation.Aligner ALIGN_FRACTION_TRUE
         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_FRACTION_TRUE = 17;
      • ALIGN_PERCENTILE_99

        public static final Aggregation.Aligner ALIGN_PERCENTILE_99
         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_99 = 18;
      • ALIGN_PERCENTILE_95

        public static final Aggregation.Aligner ALIGN_PERCENTILE_95
         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_95 = 19;
      • ALIGN_PERCENTILE_50

        public static final Aggregation.Aligner ALIGN_PERCENTILE_50
         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_50 = 20;
      • ALIGN_PERCENTILE_05

        public static final Aggregation.Aligner ALIGN_PERCENTILE_05
         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_PERCENTILE_05 = 21;
      • ALIGN_PERCENT_CHANGE

        public static final Aggregation.Aligner ALIGN_PERCENT_CHANGE
         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`.
         
        ALIGN_PERCENT_CHANGE = 23;
    • Field Detail

      • ALIGN_NONE_VALUE

        public static final int ALIGN_NONE_VALUE
         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_NONE = 0;
        See Also:
        Constant Field Values
      • ALIGN_DELTA_VALUE

        public static final int ALIGN_DELTA_VALUE
         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_DELTA = 1;
        See Also:
        Constant Field Values
      • ALIGN_RATE_VALUE

        public static final int ALIGN_RATE_VALUE
         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_RATE = 2;
        See Also:
        Constant Field Values
      • ALIGN_INTERPOLATE_VALUE

        public static final int ALIGN_INTERPOLATE_VALUE
         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_INTERPOLATE = 3;
        See Also:
        Constant Field Values
      • ALIGN_NEXT_OLDER_VALUE

        public static final int ALIGN_NEXT_OLDER_VALUE
         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_NEXT_OLDER = 4;
        See Also:
        Constant Field Values
      • ALIGN_MIN_VALUE

        public static final int ALIGN_MIN_VALUE
         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_MIN = 10;
        See Also:
        Constant Field Values
      • ALIGN_MAX_VALUE

        public static final int ALIGN_MAX_VALUE
         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_MAX = 11;
        See Also:
        Constant Field Values
      • ALIGN_MEAN_VALUE

        public static final int ALIGN_MEAN_VALUE
         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_MEAN = 12;
        See Also:
        Constant Field Values
      • ALIGN_COUNT_VALUE

        public static final int ALIGN_COUNT_VALUE
         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_COUNT = 13;
        See Also:
        Constant Field Values
      • ALIGN_SUM_VALUE

        public static final int ALIGN_SUM_VALUE
         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_SUM = 14;
        See Also:
        Constant Field Values
      • ALIGN_STDDEV_VALUE

        public static final int ALIGN_STDDEV_VALUE
         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_STDDEV = 15;
        See Also:
        Constant Field Values
      • ALIGN_COUNT_TRUE_VALUE

        public static final int ALIGN_COUNT_TRUE_VALUE
         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_TRUE = 16;
        See Also:
        Constant Field Values
      • ALIGN_COUNT_FALSE_VALUE

        public static final int ALIGN_COUNT_FALSE_VALUE
         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_COUNT_FALSE = 24;
        See Also:
        Constant Field Values
      • ALIGN_FRACTION_TRUE_VALUE

        public static final int ALIGN_FRACTION_TRUE_VALUE
         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_FRACTION_TRUE = 17;
        See Also:
        Constant Field Values
      • ALIGN_PERCENTILE_99_VALUE

        public static final int ALIGN_PERCENTILE_99_VALUE
         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_99 = 18;
        See Also:
        Constant Field Values
      • ALIGN_PERCENTILE_95_VALUE

        public static final int ALIGN_PERCENTILE_95_VALUE
         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_95 = 19;
        See Also:
        Constant Field Values
      • ALIGN_PERCENTILE_50_VALUE

        public static final int ALIGN_PERCENTILE_50_VALUE
         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_50 = 20;
        See Also:
        Constant Field Values
      • ALIGN_PERCENTILE_05_VALUE

        public static final int ALIGN_PERCENTILE_05_VALUE
         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_PERCENTILE_05 = 21;
        See Also:
        Constant Field Values
      • ALIGN_PERCENT_CHANGE_VALUE

        public static final int ALIGN_PERCENT_CHANGE_VALUE
         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`.
         
        ALIGN_PERCENT_CHANGE = 23;
        See Also:
        Constant Field Values
    • Method Detail

      • values

        public static Aggregation.Aligner[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (Aggregation.Aligner c : Aggregation.Aligner.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static Aggregation.Aligner valueOf​(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • getNumber

        public final int getNumber()
        Specified by:
        getNumber in interface com.google.protobuf.Internal.EnumLite
        Specified by:
        getNumber in interface com.google.protobuf.ProtocolMessageEnum
      • valueOf

        @Deprecated
        public static Aggregation.Aligner valueOf​(int value)
        Deprecated.
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        value - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • forNumber

        public static Aggregation.Aligner forNumber​(int value)
        Parameters:
        value - The numeric wire value of the corresponding enum entry.
        Returns:
        The enum associated with the given numeric wire value.
      • internalGetValueMap

        public static com.google.protobuf.Internal.EnumLiteMap<Aggregation.Aligner> internalGetValueMap()
      • getValueDescriptor

        public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
        Specified by:
        getValueDescriptor in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptorForType

        public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptor

        public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
      • valueOf

        public static Aggregation.Aligner valueOf​(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        desc - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null