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, unknownFields
memoizedSize
memoizedHashCode
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, writeStringNoTag
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toString
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof
toByteArray, toByteString, writeDelimitedTo, writeTo
public 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 MessageOrBuilder
getUnknownFields
in class GeneratedMessageV3
public static final Descriptors.Descriptor getDescriptor()
protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable
in class GeneratedMessageV3
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 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.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 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.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 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 final boolean isInitialized()
isInitialized
in interface MessageLiteOrBuilder
isInitialized
in class GeneratedMessageV3
public void writeTo(CodedOutputStream output) throws java.io.IOException
writeTo
in interface MessageLite
writeTo
in class GeneratedMessageV3
java.io.IOException
public int getSerializedSize()
getSerializedSize
in interface MessageLite
getSerializedSize
in class GeneratedMessageV3
public boolean equals(java.lang.Object obj)
equals
in interface Message
equals
in class AbstractMessage
public int hashCode()
hashCode
in interface Message
hashCode
in class AbstractMessage
public static Aggregation parseFrom(java.nio.ByteBuffer data) throws InvalidProtocolBufferException
InvalidProtocolBufferException
public static Aggregation parseFrom(java.nio.ByteBuffer data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
InvalidProtocolBufferException
public static Aggregation parseFrom(ByteString data) throws InvalidProtocolBufferException
InvalidProtocolBufferException
public static Aggregation parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
InvalidProtocolBufferException
public static Aggregation parseFrom(byte[] data) throws InvalidProtocolBufferException
InvalidProtocolBufferException
public static Aggregation parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
InvalidProtocolBufferException
public static Aggregation parseFrom(java.io.InputStream input) throws java.io.IOException
java.io.IOException
public static Aggregation parseFrom(java.io.InputStream input, ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOException
public static Aggregation parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException
java.io.IOException
public static Aggregation parseDelimitedFrom(java.io.InputStream input, ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOException
public static Aggregation parseFrom(CodedInputStream input) throws java.io.IOException
java.io.IOException
public static Aggregation parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry) throws java.io.IOException
java.io.IOException
public Aggregation.Builder newBuilderForType()
newBuilderForType
in interface Message
newBuilderForType
in interface MessageLite
public static Aggregation.Builder newBuilder()
public static Aggregation.Builder newBuilder(Aggregation prototype)
public Aggregation.Builder toBuilder()
toBuilder
in interface Message
toBuilder
in interface MessageLite
protected Aggregation.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)
newBuilderForType
in class GeneratedMessageV3
public static Aggregation getDefaultInstance()
public static Parser<Aggregation> parser()
public Parser<Aggregation> getParserForType()
getParserForType
in interface Message
getParserForType
in interface MessageLite
getParserForType
in class GeneratedMessageV3
public Aggregation getDefaultInstanceForType()
getDefaultInstanceForType
in interface MessageLiteOrBuilder
getDefaultInstanceForType
in interface MessageOrBuilder