public static final class Aggregation.Builder extends GeneratedMessageV3.Builder<Aggregation.Builder> implements AggregationOrBuilder
Describes how to combine multiple time series to provide different views of the data. Aggregation consists of an alignment step on individual time series (`alignment_period` and `per_series_aligner`) followed by an optional reduction step of the data across the aligned time series (`cross_series_reducer` and `group_by_fields`). For more details, see [Aggregation](/monitoring/api/learn_more#aggregation).Protobuf type
google.monitoring.v3.Aggregation
Modifier and Type | Method and Description |
---|---|
Aggregation.Builder |
addAllGroupByFields(java.lang.Iterable<java.lang.String> values)
The set of fields to preserve when `crossSeriesReducer` is
specified.
|
Aggregation.Builder |
addGroupByFields(java.lang.String value)
The set of fields to preserve when `crossSeriesReducer` is
specified.
|
Aggregation.Builder |
addGroupByFieldsBytes(ByteString value)
The set of fields to preserve when `crossSeriesReducer` is
specified.
|
Aggregation.Builder |
addRepeatedField(Descriptors.FieldDescriptor field,
java.lang.Object value) |
Aggregation |
build() |
Aggregation |
buildPartial() |
Aggregation.Builder |
clear() |
Aggregation.Builder |
clearAlignmentPeriod()
The alignment period for per-[time series][google.monitoring.v3.TimeSeries]
alignment.
|
Aggregation.Builder |
clearCrossSeriesReducer()
The approach to be used to combine time series.
|
Aggregation.Builder |
clearField(Descriptors.FieldDescriptor field) |
Aggregation.Builder |
clearGroupByFields()
The set of fields to preserve when `crossSeriesReducer` is
specified.
|
Aggregation.Builder |
clearOneof(Descriptors.OneofDescriptor oneof) |
Aggregation.Builder |
clearPerSeriesAligner()
The approach to be used to align individual time series.
|
Aggregation.Builder |
clone() |
Duration |
getAlignmentPeriod()
The alignment period for per-[time series][google.monitoring.v3.TimeSeries]
alignment.
|
Duration.Builder |
getAlignmentPeriodBuilder()
The alignment period for per-[time series][google.monitoring.v3.TimeSeries]
alignment.
|
DurationOrBuilder |
getAlignmentPeriodOrBuilder()
The alignment period for per-[time series][google.monitoring.v3.TimeSeries]
alignment.
|
Aggregation.Reducer |
getCrossSeriesReducer()
The approach to be used to combine time series.
|
int |
getCrossSeriesReducerValue()
The approach to be used to combine time series.
|
Aggregation |
getDefaultInstanceForType() |
static Descriptors.Descriptor |
getDescriptor() |
Descriptors.Descriptor |
getDescriptorForType() |
java.lang.String |
getGroupByFields(int index)
The set of fields to preserve when `crossSeriesReducer` is
specified.
|
ByteString |
getGroupByFieldsBytes(int index)
The set of fields to preserve when `crossSeriesReducer` is
specified.
|
int |
getGroupByFieldsCount()
The set of fields to preserve when `crossSeriesReducer` is
specified.
|
ProtocolStringList |
getGroupByFieldsList()
The set of fields to preserve when `crossSeriesReducer` is
specified.
|
Aggregation.Aligner |
getPerSeriesAligner()
The approach to be used to align individual time series.
|
int |
getPerSeriesAlignerValue()
The approach to be used to align individual time series.
|
boolean |
hasAlignmentPeriod()
The alignment period for per-[time series][google.monitoring.v3.TimeSeries]
alignment.
|
protected GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
Aggregation.Builder |
mergeAlignmentPeriod(Duration value)
The alignment period for per-[time series][google.monitoring.v3.TimeSeries]
alignment.
|
Aggregation.Builder |
mergeFrom(Aggregation other) |
Aggregation.Builder |
mergeFrom(CodedInputStream input,
ExtensionRegistryLite extensionRegistry) |
Aggregation.Builder |
mergeFrom(Message other) |
Aggregation.Builder |
mergeUnknownFields(UnknownFieldSet unknownFields) |
Aggregation.Builder |
setAlignmentPeriod(Duration.Builder builderForValue)
The alignment period for per-[time series][google.monitoring.v3.TimeSeries]
alignment.
|
Aggregation.Builder |
setAlignmentPeriod(Duration value)
The alignment period for per-[time series][google.monitoring.v3.TimeSeries]
alignment.
|
Aggregation.Builder |
setCrossSeriesReducer(Aggregation.Reducer value)
The approach to be used to combine time series.
|
Aggregation.Builder |
setCrossSeriesReducerValue(int value)
The approach to be used to combine time series.
|
Aggregation.Builder |
setField(Descriptors.FieldDescriptor field,
java.lang.Object value) |
Aggregation.Builder |
setGroupByFields(int index,
java.lang.String value)
The set of fields to preserve when `crossSeriesReducer` is
specified.
|
Aggregation.Builder |
setPerSeriesAligner(Aggregation.Aligner value)
The approach to be used to align individual time series.
|
Aggregation.Builder |
setPerSeriesAlignerValue(int value)
The approach to be used to align individual time series.
|
Aggregation.Builder |
setRepeatedField(Descriptors.FieldDescriptor field,
int index,
java.lang.Object value) |
Aggregation.Builder |
setUnknownFields(UnknownFieldSet unknownFields) |
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMutableMapField, isClean, markClean, newBuilderForField, onBuilt, onChanged, setUnknownFieldsProto3
findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toString
addAll, addAll, mergeFrom, newUninitializedMessageException
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
mergeFrom
public static final Descriptors.Descriptor getDescriptor()
protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable
in class GeneratedMessageV3.Builder<Aggregation.Builder>
public Aggregation.Builder clear()
clear
in interface Message.Builder
clear
in interface MessageLite.Builder
clear
in class GeneratedMessageV3.Builder<Aggregation.Builder>
public Descriptors.Descriptor getDescriptorForType()
getDescriptorForType
in interface Message.Builder
getDescriptorForType
in interface MessageOrBuilder
getDescriptorForType
in class GeneratedMessageV3.Builder<Aggregation.Builder>
public Aggregation getDefaultInstanceForType()
getDefaultInstanceForType
in interface MessageLiteOrBuilder
getDefaultInstanceForType
in interface MessageOrBuilder
public Aggregation build()
build
in interface Message.Builder
build
in interface MessageLite.Builder
public Aggregation buildPartial()
buildPartial
in interface Message.Builder
buildPartial
in interface MessageLite.Builder
public Aggregation.Builder clone()
clone
in interface Message.Builder
clone
in interface MessageLite.Builder
clone
in class GeneratedMessageV3.Builder<Aggregation.Builder>
public Aggregation.Builder setField(Descriptors.FieldDescriptor field, java.lang.Object value)
setField
in interface Message.Builder
setField
in class GeneratedMessageV3.Builder<Aggregation.Builder>
public Aggregation.Builder clearField(Descriptors.FieldDescriptor field)
clearField
in interface Message.Builder
clearField
in class GeneratedMessageV3.Builder<Aggregation.Builder>
public Aggregation.Builder clearOneof(Descriptors.OneofDescriptor oneof)
clearOneof
in interface Message.Builder
clearOneof
in class GeneratedMessageV3.Builder<Aggregation.Builder>
public Aggregation.Builder setRepeatedField(Descriptors.FieldDescriptor field, int index, java.lang.Object value)
setRepeatedField
in interface Message.Builder
setRepeatedField
in class GeneratedMessageV3.Builder<Aggregation.Builder>
public Aggregation.Builder addRepeatedField(Descriptors.FieldDescriptor field, java.lang.Object value)
addRepeatedField
in interface Message.Builder
addRepeatedField
in class GeneratedMessageV3.Builder<Aggregation.Builder>
public Aggregation.Builder mergeFrom(Message other)
mergeFrom
in interface Message.Builder
mergeFrom
in class AbstractMessage.Builder<Aggregation.Builder>
public Aggregation.Builder mergeFrom(Aggregation other)
public final boolean isInitialized()
isInitialized
in interface MessageLiteOrBuilder
isInitialized
in class GeneratedMessageV3.Builder<Aggregation.Builder>
public Aggregation.Builder mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry) throws java.io.IOException
mergeFrom
in interface Message.Builder
mergeFrom
in interface MessageLite.Builder
mergeFrom
in class AbstractMessage.Builder<Aggregation.Builder>
java.io.IOException
public boolean hasAlignmentPeriod()
The alignment period for per-[time series][google.monitoring.v3.TimeSeries] alignment. If present, `alignmentPeriod` must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If `perSeriesAligner` is not specified or equals `ALIGN_NONE`, then this field is ignored. If `perSeriesAligner` is specified and does not equal `ALIGN_NONE`, then this field must be defined; otherwise an error is returned.
.google.protobuf.Duration alignment_period = 1;
hasAlignmentPeriod
in interface AggregationOrBuilder
public Duration getAlignmentPeriod()
The alignment period for per-[time series][google.monitoring.v3.TimeSeries] alignment. If present, `alignmentPeriod` must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If `perSeriesAligner` is not specified or equals `ALIGN_NONE`, then this field is ignored. If `perSeriesAligner` is specified and does not equal `ALIGN_NONE`, then this field must be defined; otherwise an error is returned.
.google.protobuf.Duration alignment_period = 1;
getAlignmentPeriod
in interface AggregationOrBuilder
public Aggregation.Builder setAlignmentPeriod(Duration value)
The alignment period for per-[time series][google.monitoring.v3.TimeSeries] alignment. If present, `alignmentPeriod` must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If `perSeriesAligner` is not specified or equals `ALIGN_NONE`, then this field is ignored. If `perSeriesAligner` is specified and does not equal `ALIGN_NONE`, then this field must be defined; otherwise an error is returned.
.google.protobuf.Duration alignment_period = 1;
public Aggregation.Builder setAlignmentPeriod(Duration.Builder builderForValue)
The alignment period for per-[time series][google.monitoring.v3.TimeSeries] alignment. If present, `alignmentPeriod` must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If `perSeriesAligner` is not specified or equals `ALIGN_NONE`, then this field is ignored. If `perSeriesAligner` is specified and does not equal `ALIGN_NONE`, then this field must be defined; otherwise an error is returned.
.google.protobuf.Duration alignment_period = 1;
public Aggregation.Builder mergeAlignmentPeriod(Duration value)
The alignment period for per-[time series][google.monitoring.v3.TimeSeries] alignment. If present, `alignmentPeriod` must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If `perSeriesAligner` is not specified or equals `ALIGN_NONE`, then this field is ignored. If `perSeriesAligner` is specified and does not equal `ALIGN_NONE`, then this field must be defined; otherwise an error is returned.
.google.protobuf.Duration alignment_period = 1;
public Aggregation.Builder clearAlignmentPeriod()
The alignment period for per-[time series][google.monitoring.v3.TimeSeries] alignment. If present, `alignmentPeriod` must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If `perSeriesAligner` is not specified or equals `ALIGN_NONE`, then this field is ignored. If `perSeriesAligner` is specified and does not equal `ALIGN_NONE`, then this field must be defined; otherwise an error is returned.
.google.protobuf.Duration alignment_period = 1;
public Duration.Builder getAlignmentPeriodBuilder()
The alignment period for per-[time series][google.monitoring.v3.TimeSeries] alignment. If present, `alignmentPeriod` must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If `perSeriesAligner` is not specified or equals `ALIGN_NONE`, then this field is ignored. If `perSeriesAligner` is specified and does not equal `ALIGN_NONE`, then this field must be defined; otherwise an error is returned.
.google.protobuf.Duration alignment_period = 1;
public DurationOrBuilder getAlignmentPeriodOrBuilder()
The alignment period for per-[time series][google.monitoring.v3.TimeSeries] alignment. If present, `alignmentPeriod` must be at least 60 seconds. After per-time series alignment, each time series will contain data points only on the period boundaries. If `perSeriesAligner` is not specified or equals `ALIGN_NONE`, then this field is ignored. If `perSeriesAligner` is specified and does not equal `ALIGN_NONE`, then this field must be defined; otherwise an error is returned.
.google.protobuf.Duration alignment_period = 1;
getAlignmentPeriodOrBuilder
in interface AggregationOrBuilder
public int getPerSeriesAlignerValue()
The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `crossSeriesReducer` is specified, then `perSeriesAligner` must be specified and not equal `ALIGN_NONE` and `alignmentPeriod` must be specified; otherwise, an error is returned.
.google.monitoring.v3.Aggregation.Aligner per_series_aligner = 2;
getPerSeriesAlignerValue
in interface AggregationOrBuilder
public Aggregation.Builder setPerSeriesAlignerValue(int value)
The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `crossSeriesReducer` is specified, then `perSeriesAligner` must be specified and not equal `ALIGN_NONE` and `alignmentPeriod` must be specified; otherwise, an error is returned.
.google.monitoring.v3.Aggregation.Aligner per_series_aligner = 2;
public Aggregation.Aligner getPerSeriesAligner()
The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `crossSeriesReducer` is specified, then `perSeriesAligner` must be specified and not equal `ALIGN_NONE` and `alignmentPeriod` must be specified; otherwise, an error is returned.
.google.monitoring.v3.Aggregation.Aligner per_series_aligner = 2;
getPerSeriesAligner
in interface AggregationOrBuilder
public Aggregation.Builder setPerSeriesAligner(Aggregation.Aligner value)
The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `crossSeriesReducer` is specified, then `perSeriesAligner` must be specified and not equal `ALIGN_NONE` and `alignmentPeriod` must be specified; otherwise, an error is returned.
.google.monitoring.v3.Aggregation.Aligner per_series_aligner = 2;
public Aggregation.Builder clearPerSeriesAligner()
The approach to be used to align individual time series. Not all alignment functions may be applied to all time series, depending on the metric type and value type of the original time series. Alignment may change the metric type or the value type of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `crossSeriesReducer` is specified, then `perSeriesAligner` must be specified and not equal `ALIGN_NONE` and `alignmentPeriod` must be specified; otherwise, an error is returned.
.google.monitoring.v3.Aggregation.Aligner per_series_aligner = 2;
public int getCrossSeriesReducerValue()
The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `crossSeriesReducer` is specified, then `perSeriesAligner` must be specified and not equal `ALIGN_NONE` and `alignmentPeriod` must be specified; otherwise, an error is returned.
.google.monitoring.v3.Aggregation.Reducer cross_series_reducer = 4;
getCrossSeriesReducerValue
in interface AggregationOrBuilder
public Aggregation.Builder setCrossSeriesReducerValue(int value)
The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `crossSeriesReducer` is specified, then `perSeriesAligner` must be specified and not equal `ALIGN_NONE` and `alignmentPeriod` must be specified; otherwise, an error is returned.
.google.monitoring.v3.Aggregation.Reducer cross_series_reducer = 4;
public Aggregation.Reducer getCrossSeriesReducer()
The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `crossSeriesReducer` is specified, then `perSeriesAligner` must be specified and not equal `ALIGN_NONE` and `alignmentPeriod` must be specified; otherwise, an error is returned.
.google.monitoring.v3.Aggregation.Reducer cross_series_reducer = 4;
getCrossSeriesReducer
in interface AggregationOrBuilder
public Aggregation.Builder setCrossSeriesReducer(Aggregation.Reducer value)
The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `crossSeriesReducer` is specified, then `perSeriesAligner` must be specified and not equal `ALIGN_NONE` and `alignmentPeriod` must be specified; otherwise, an error is returned.
.google.monitoring.v3.Aggregation.Reducer cross_series_reducer = 4;
public Aggregation.Builder clearCrossSeriesReducer()
The approach to be used to combine time series. Not all reducer functions may be applied to all time series, depending on the metric type and the value type of the original time series. Reduction may change the metric type of value type of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `crossSeriesReducer` is specified, then `perSeriesAligner` must be specified and not equal `ALIGN_NONE` and `alignmentPeriod` must be specified; otherwise, an error is returned.
.google.monitoring.v3.Aggregation.Reducer cross_series_reducer = 4;
public ProtocolStringList getGroupByFieldsList()
The set of fields to preserve when `crossSeriesReducer` is specified. The `groupByFields` determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `crossSeriesReducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `groupByFields` are aggregated away. If `groupByFields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `crossSeriesReducer` is not defined, this field is ignored.
repeated string group_by_fields = 5;
getGroupByFieldsList
in interface AggregationOrBuilder
public int getGroupByFieldsCount()
The set of fields to preserve when `crossSeriesReducer` is specified. The `groupByFields` determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `crossSeriesReducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `groupByFields` are aggregated away. If `groupByFields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `crossSeriesReducer` is not defined, this field is ignored.
repeated string group_by_fields = 5;
getGroupByFieldsCount
in interface AggregationOrBuilder
public java.lang.String getGroupByFields(int index)
The set of fields to preserve when `crossSeriesReducer` is specified. The `groupByFields` determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `crossSeriesReducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `groupByFields` are aggregated away. If `groupByFields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `crossSeriesReducer` is not defined, this field is ignored.
repeated string group_by_fields = 5;
getGroupByFields
in interface AggregationOrBuilder
public ByteString getGroupByFieldsBytes(int index)
The set of fields to preserve when `crossSeriesReducer` is specified. The `groupByFields` determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `crossSeriesReducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `groupByFields` are aggregated away. If `groupByFields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `crossSeriesReducer` is not defined, this field is ignored.
repeated string group_by_fields = 5;
getGroupByFieldsBytes
in interface AggregationOrBuilder
public Aggregation.Builder setGroupByFields(int index, java.lang.String value)
The set of fields to preserve when `crossSeriesReducer` is specified. The `groupByFields` determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `crossSeriesReducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `groupByFields` are aggregated away. If `groupByFields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `crossSeriesReducer` is not defined, this field is ignored.
repeated string group_by_fields = 5;
public Aggregation.Builder addGroupByFields(java.lang.String value)
The set of fields to preserve when `crossSeriesReducer` is specified. The `groupByFields` determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `crossSeriesReducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `groupByFields` are aggregated away. If `groupByFields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `crossSeriesReducer` is not defined, this field is ignored.
repeated string group_by_fields = 5;
public Aggregation.Builder addAllGroupByFields(java.lang.Iterable<java.lang.String> values)
The set of fields to preserve when `crossSeriesReducer` is specified. The `groupByFields` determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `crossSeriesReducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `groupByFields` are aggregated away. If `groupByFields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `crossSeriesReducer` is not defined, this field is ignored.
repeated string group_by_fields = 5;
public Aggregation.Builder clearGroupByFields()
The set of fields to preserve when `crossSeriesReducer` is specified. The `groupByFields` determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `crossSeriesReducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `groupByFields` are aggregated away. If `groupByFields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `crossSeriesReducer` is not defined, this field is ignored.
repeated string group_by_fields = 5;
public Aggregation.Builder addGroupByFieldsBytes(ByteString value)
The set of fields to preserve when `crossSeriesReducer` is specified. The `groupByFields` determine how the time series are partitioned into subsets prior to applying the aggregation function. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `crossSeriesReducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `groupByFields` are aggregated away. If `groupByFields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `crossSeriesReducer` is not defined, this field is ignored.
repeated string group_by_fields = 5;
public final Aggregation.Builder setUnknownFields(UnknownFieldSet unknownFields)
setUnknownFields
in interface Message.Builder
setUnknownFields
in class GeneratedMessageV3.Builder<Aggregation.Builder>
public final Aggregation.Builder mergeUnknownFields(UnknownFieldSet unknownFields)
mergeUnknownFields
in interface Message.Builder
mergeUnknownFields
in class GeneratedMessageV3.Builder<Aggregation.Builder>