public final class Aggregation extends GeneratedMessageV3 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 | Class and Description |
|---|---|
static class |
Aggregation.Aligner
The Aligner describes how to bring the data points in a single
time series into temporal alignment.
|
static class |
Aggregation.Builder
Describes how to combine multiple time series to provide different views of
the data.
|
static class |
Aggregation.Reducer
A Reducer describes how to aggregate data points from multiple
time series into a single time series.
|
GeneratedMessageV3.BuilderParent, GeneratedMessageV3.ExtendableBuilder<MessageType extends GeneratedMessageV3.ExtendableMessage,BuilderType extends GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>>, GeneratedMessageV3.ExtendableMessage<MessageType extends GeneratedMessageV3.ExtendableMessage>, GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends GeneratedMessageV3.ExtendableMessage>, GeneratedMessageV3.FieldAccessorTable| Modifier and Type | Field and Description |
|---|---|
static int |
ALIGNMENT_PERIOD_FIELD_NUMBER |
static int |
CROSS_SERIES_REDUCER_FIELD_NUMBER |
static int |
GROUP_BY_FIELDS_FIELD_NUMBER |
static int |
PER_SERIES_ALIGNER_FIELD_NUMBER |
alwaysUseFieldBuilders, unknownFieldsmemoizedSizememoizedHashCode| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object obj) |
Duration |
getAlignmentPeriod()
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.
|
static Aggregation |
getDefaultInstance() |
Aggregation |
getDefaultInstanceForType() |
static Descriptors.Descriptor |
getDescriptor() |
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.
|
Parser<Aggregation> |
getParserForType() |
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.
|
int |
getSerializedSize() |
UnknownFieldSet |
getUnknownFields() |
boolean |
hasAlignmentPeriod()
The alignment period for per-[time series][google.monitoring.v3.TimeSeries]
alignment.
|
int |
hashCode() |
protected GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
static Aggregation.Builder |
newBuilder() |
static Aggregation.Builder |
newBuilder(Aggregation prototype) |
Aggregation.Builder |
newBuilderForType() |
protected Aggregation.Builder |
newBuilderForType(GeneratedMessageV3.BuilderParent parent) |
static Aggregation |
parseDelimitedFrom(java.io.InputStream input) |
static Aggregation |
parseDelimitedFrom(java.io.InputStream input,
ExtensionRegistryLite extensionRegistry) |
static Aggregation |
parseFrom(byte[] data) |
static Aggregation |
parseFrom(byte[] data,
ExtensionRegistryLite extensionRegistry) |
static Aggregation |
parseFrom(java.nio.ByteBuffer data) |
static Aggregation |
parseFrom(java.nio.ByteBuffer data,
ExtensionRegistryLite extensionRegistry) |
static Aggregation |
parseFrom(ByteString data) |
static Aggregation |
parseFrom(ByteString data,
ExtensionRegistryLite extensionRegistry) |
static Aggregation |
parseFrom(CodedInputStream input) |
static Aggregation |
parseFrom(CodedInputStream input,
ExtensionRegistryLite extensionRegistry) |
static Aggregation |
parseFrom(java.io.InputStream input) |
static Aggregation |
parseFrom(java.io.InputStream input,
ExtensionRegistryLite extensionRegistry) |
static Parser<Aggregation> |
parser() |
Aggregation.Builder |
toBuilder() |
void |
writeTo(CodedOutputStream output) |
canUseUnsafe, computeStringSize, computeStringSizeNoTag, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, makeExtensionsImmutable, newBuilderForType, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagfindInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringaddAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToclone, finalize, getClass, notify, notifyAll, wait, wait, waitfindInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneoftoByteArray, toByteString, writeDelimitedTo, writeTopublic static final int ALIGNMENT_PERIOD_FIELD_NUMBER
public static final int PER_SERIES_ALIGNER_FIELD_NUMBER
public static final int CROSS_SERIES_REDUCER_FIELD_NUMBER
public static final int GROUP_BY_FIELDS_FIELD_NUMBER
public final UnknownFieldSet getUnknownFields()
getUnknownFields in interface MessageOrBuildergetUnknownFields in class GeneratedMessageV3public static final Descriptors.Descriptor getDescriptor()
protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable in class GeneratedMessageV3public 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 AggregationOrBuilderpublic 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 AggregationOrBuilderpublic 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 AggregationOrBuilderpublic 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 AggregationOrBuilderpublic 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 AggregationOrBuilderpublic 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 AggregationOrBuilderpublic 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 AggregationOrBuilderpublic 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 AggregationOrBuilderpublic 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 AggregationOrBuilderpublic 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 AggregationOrBuilderpublic 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 AggregationOrBuilderpublic final boolean isInitialized()
isInitialized in interface MessageLiteOrBuilderisInitialized in class GeneratedMessageV3public void writeTo(CodedOutputStream output) throws java.io.IOException
writeTo in interface MessageLitewriteTo in class GeneratedMessageV3java.io.IOExceptionpublic int getSerializedSize()
getSerializedSize in interface MessageLitegetSerializedSize in class GeneratedMessageV3public boolean equals(java.lang.Object obj)
equals in interface Messageequals in class AbstractMessagepublic int hashCode()
hashCode in interface MessagehashCode in class AbstractMessagepublic static Aggregation parseFrom(java.nio.ByteBuffer data) throws InvalidProtocolBufferException
InvalidProtocolBufferExceptionpublic static Aggregation parseFrom(java.nio.ByteBuffer data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
InvalidProtocolBufferExceptionpublic static Aggregation parseFrom(ByteString data) throws InvalidProtocolBufferException
InvalidProtocolBufferExceptionpublic static Aggregation parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
InvalidProtocolBufferExceptionpublic static Aggregation parseFrom(byte[] data) throws InvalidProtocolBufferException
InvalidProtocolBufferExceptionpublic static Aggregation parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
InvalidProtocolBufferExceptionpublic static Aggregation parseFrom(java.io.InputStream input) throws java.io.IOException
java.io.IOExceptionpublic static Aggregation parseFrom(java.io.InputStream input, ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOExceptionpublic static Aggregation parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException
java.io.IOExceptionpublic static Aggregation parseDelimitedFrom(java.io.InputStream input, ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOExceptionpublic static Aggregation parseFrom(CodedInputStream input) throws java.io.IOException
java.io.IOExceptionpublic static Aggregation parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOExceptionpublic Aggregation.Builder newBuilderForType()
newBuilderForType in interface MessagenewBuilderForType in interface MessageLitepublic static Aggregation.Builder newBuilder()
public static Aggregation.Builder newBuilder(Aggregation prototype)
public Aggregation.Builder toBuilder()
toBuilder in interface MessagetoBuilder in interface MessageLiteprotected Aggregation.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)
newBuilderForType in class GeneratedMessageV3public static Aggregation getDefaultInstance()
public static Parser<Aggregation> parser()
public Parser<Aggregation> getParserForType()
getParserForType in interface MessagegetParserForType in interface MessageLitegetParserForType in class GeneratedMessageV3public Aggregation getDefaultInstanceForType()
getDefaultInstanceForType in interface MessageLiteOrBuildergetDefaultInstanceForType in interface MessageOrBuilder