1 // Code generated by protoc-gen-go. DO NOT EDIT.
2 // source: google/monitoring/v3/common.proto
5 Package monitoring is a generated protocol buffer package.
7 It is generated from these files:
8 google/monitoring/v3/common.proto
9 google/monitoring/v3/group.proto
10 google/monitoring/v3/group_service.proto
11 google/monitoring/v3/metric.proto
12 google/monitoring/v3/metric_service.proto
14 It has these top-level messages:
25 ListGroupMembersRequest
26 ListGroupMembersResponse
29 ListMonitoredResourceDescriptorsRequest
30 ListMonitoredResourceDescriptorsResponse
31 GetMonitoredResourceDescriptorRequest
32 ListMetricDescriptorsRequest
33 ListMetricDescriptorsResponse
34 GetMetricDescriptorRequest
35 CreateMetricDescriptorRequest
36 DeleteMetricDescriptorRequest
38 ListTimeSeriesResponse
39 CreateTimeSeriesRequest
44 import proto "github.com/golang/protobuf/proto"
47 import google_api2 "google.golang.org/genproto/googleapis/api/distribution"
48 import google_protobuf3 "github.com/golang/protobuf/ptypes/duration"
49 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
51 // Reference imports to suppress errors if they are not otherwise used.
56 // This is a compile-time assertion to ensure that this generated file
57 // is compatible with the proto package it is being compiled against.
58 // A compilation error at this line likely means your copy of the
59 // proto package needs to be updated.
60 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
62 // The Aligner describes how to bring the data points in a single
63 // time series into temporal alignment.
64 type Aggregation_Aligner int32
67 // No alignment. Raw data is returned. Not valid if cross-time
68 // series reduction is requested. The value type of the result is
69 // the same as the value type of the input.
70 Aggregation_ALIGN_NONE Aggregation_Aligner = 0
71 // Align and convert to delta metric type. This alignment is valid
72 // for cumulative metrics and delta metrics. Aligning an existing
73 // delta metric to a delta metric requires that the alignment
74 // period be increased. The value type of the result is the same
75 // as the value type of the input.
76 Aggregation_ALIGN_DELTA Aggregation_Aligner = 1
77 // Align and convert to a rate. This alignment is valid for
78 // cumulative metrics and delta metrics with numeric values. The output is a
79 // gauge metric with value type
80 // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
81 Aggregation_ALIGN_RATE Aggregation_Aligner = 2
82 // Align by interpolating between adjacent points around the
83 // period boundary. This alignment is valid for gauge
84 // metrics with numeric values. The value type of the result is the same
85 // as the value type of the input.
86 Aggregation_ALIGN_INTERPOLATE Aggregation_Aligner = 3
87 // Align by shifting the oldest data point before the period
88 // boundary to the boundary. This alignment is valid for gauge
89 // metrics. The value type of the result is the same as the
90 // value type of the input.
91 Aggregation_ALIGN_NEXT_OLDER Aggregation_Aligner = 4
92 // Align time series via aggregation. The resulting data point in
93 // the alignment period is the minimum of all data points in the
94 // period. This alignment is valid for gauge and delta metrics with numeric
95 // values. The value type of the result is the same as the value
97 Aggregation_ALIGN_MIN Aggregation_Aligner = 10
98 // Align time series via aggregation. The resulting data point in
99 // the alignment period is the maximum of all data points in the
100 // period. This alignment is valid for gauge and delta metrics with numeric
101 // values. The value type of the result is the same as the value
102 // type of the input.
103 Aggregation_ALIGN_MAX Aggregation_Aligner = 11
104 // Align time series via aggregation. The resulting data point in
105 // the alignment period is the average or arithmetic mean of all
106 // data points in the period. This alignment is valid for gauge and delta
107 // metrics with numeric values. The value type of the output is
108 // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
109 Aggregation_ALIGN_MEAN Aggregation_Aligner = 12
110 // Align time series via aggregation. The resulting data point in
111 // the alignment period is the count of all data points in the
112 // period. This alignment is valid for gauge and delta metrics with numeric
113 // or Boolean values. The value type of the output is
114 // [INT64][google.api.MetricDescriptor.ValueType.INT64].
115 Aggregation_ALIGN_COUNT Aggregation_Aligner = 13
116 // Align time series via aggregation. The resulting data point in
117 // the alignment period is the sum of all data points in the
118 // period. This alignment is valid for gauge and delta metrics with numeric
119 // and distribution values. The value type of the output is the
120 // same as the value type of the input.
121 Aggregation_ALIGN_SUM Aggregation_Aligner = 14
122 // Align time series via aggregation. The resulting data point in
123 // the alignment period is the standard deviation of all data
124 // points in the period. This alignment is valid for gauge and delta metrics
125 // with numeric values. The value type of the output is
126 // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
127 Aggregation_ALIGN_STDDEV Aggregation_Aligner = 15
128 // Align time series via aggregation. The resulting data point in
129 // the alignment period is the count of True-valued data points in the
130 // period. This alignment is valid for gauge metrics with
131 // Boolean values. The value type of the output is
132 // [INT64][google.api.MetricDescriptor.ValueType.INT64].
133 Aggregation_ALIGN_COUNT_TRUE Aggregation_Aligner = 16
134 // Align time series via aggregation. The resulting data point in
135 // the alignment period is the fraction of True-valued data points in the
136 // period. This alignment is valid for gauge metrics with Boolean values.
137 // The output value is in the range [0, 1] and has value type
138 // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
139 Aggregation_ALIGN_FRACTION_TRUE Aggregation_Aligner = 17
140 // Align time series via aggregation. The resulting data point in
141 // the alignment period is the 99th percentile of all data
142 // points in the period. This alignment is valid for gauge and delta metrics
143 // with distribution values. The output is a gauge metric with value type
144 // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
145 Aggregation_ALIGN_PERCENTILE_99 Aggregation_Aligner = 18
146 // Align time series via aggregation. The resulting data point in
147 // the alignment period is the 95th percentile of all data
148 // points in the period. This alignment is valid for gauge and delta metrics
149 // with distribution values. The output is a gauge metric with value type
150 // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
151 Aggregation_ALIGN_PERCENTILE_95 Aggregation_Aligner = 19
152 // Align time series via aggregation. The resulting data point in
153 // the alignment period is the 50th percentile of all data
154 // points in the period. This alignment is valid for gauge and delta metrics
155 // with distribution values. The output is a gauge metric with value type
156 // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
157 Aggregation_ALIGN_PERCENTILE_50 Aggregation_Aligner = 20
158 // Align time series via aggregation. The resulting data point in
159 // the alignment period is the 5th percentile of all data
160 // points in the period. This alignment is valid for gauge and delta metrics
161 // with distribution values. The output is a gauge metric with value type
162 // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
163 Aggregation_ALIGN_PERCENTILE_05 Aggregation_Aligner = 21
166 var Aggregation_Aligner_name = map[int32]string{
170 3: "ALIGN_INTERPOLATE",
171 4: "ALIGN_NEXT_OLDER",
178 16: "ALIGN_COUNT_TRUE",
179 17: "ALIGN_FRACTION_TRUE",
180 18: "ALIGN_PERCENTILE_99",
181 19: "ALIGN_PERCENTILE_95",
182 20: "ALIGN_PERCENTILE_50",
183 21: "ALIGN_PERCENTILE_05",
185 var Aggregation_Aligner_value = map[string]int32{
189 "ALIGN_INTERPOLATE": 3,
190 "ALIGN_NEXT_OLDER": 4,
197 "ALIGN_COUNT_TRUE": 16,
198 "ALIGN_FRACTION_TRUE": 17,
199 "ALIGN_PERCENTILE_99": 18,
200 "ALIGN_PERCENTILE_95": 19,
201 "ALIGN_PERCENTILE_50": 20,
202 "ALIGN_PERCENTILE_05": 21,
205 func (x Aggregation_Aligner) String() string {
206 return proto.EnumName(Aggregation_Aligner_name, int32(x))
208 func (Aggregation_Aligner) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 0} }
210 // A Reducer describes how to aggregate data points from multiple
211 // time series into a single time series.
212 type Aggregation_Reducer int32
215 // No cross-time series reduction. The output of the aligner is
217 Aggregation_REDUCE_NONE Aggregation_Reducer = 0
218 // Reduce by computing the mean across time series for each
219 // alignment period. This reducer is valid for delta and
220 // gauge metrics with numeric or distribution values. The value type of the
221 // output is [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
222 Aggregation_REDUCE_MEAN Aggregation_Reducer = 1
223 // Reduce by computing the minimum across time series for each
224 // alignment period. This reducer is valid for delta and
225 // gauge metrics with numeric values. The value type of the output
226 // is the same as the value type of the input.
227 Aggregation_REDUCE_MIN Aggregation_Reducer = 2
228 // Reduce by computing the maximum across time series for each
229 // alignment period. This reducer is valid for delta and
230 // gauge metrics with numeric values. The value type of the output
231 // is the same as the value type of the input.
232 Aggregation_REDUCE_MAX Aggregation_Reducer = 3
233 // Reduce by computing the sum across time series for each
234 // alignment period. This reducer is valid for delta and
235 // gauge metrics with numeric and distribution values. The value type of
236 // the output is the same as the value type of the input.
237 Aggregation_REDUCE_SUM Aggregation_Reducer = 4
238 // Reduce by computing the standard deviation across time series
239 // for each alignment period. This reducer is valid for delta
240 // and gauge metrics with numeric or distribution values. The value type of
241 // the output is [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
242 Aggregation_REDUCE_STDDEV Aggregation_Reducer = 5
243 // Reduce by computing the count of data points across time series
244 // for each alignment period. This reducer is valid for delta
245 // and gauge metrics of numeric, Boolean, distribution, and string value
246 // type. The value type of the output is
247 // [INT64][google.api.MetricDescriptor.ValueType.INT64].
248 Aggregation_REDUCE_COUNT Aggregation_Reducer = 6
249 // Reduce by computing the count of True-valued data points across time
250 // series for each alignment period. This reducer is valid for delta
251 // and gauge metrics of Boolean value type. The value type of
252 // the output is [INT64][google.api.MetricDescriptor.ValueType.INT64].
253 Aggregation_REDUCE_COUNT_TRUE Aggregation_Reducer = 7
254 // Reduce by computing the fraction of True-valued data points across time
255 // series for each alignment period. This reducer is valid for delta
256 // and gauge metrics of Boolean value type. The output value is in the
257 // range [0, 1] and has value type
258 // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
259 Aggregation_REDUCE_FRACTION_TRUE Aggregation_Reducer = 8
260 // Reduce by computing 99th percentile of data points across time series
261 // for each alignment period. This reducer is valid for gauge and delta
262 // metrics of numeric and distribution type. The value of the output is
263 // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
264 Aggregation_REDUCE_PERCENTILE_99 Aggregation_Reducer = 9
265 // Reduce by computing 95th percentile of data points across time series
266 // for each alignment period. This reducer is valid for gauge and delta
267 // metrics of numeric and distribution type. The value of the output is
268 // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
269 Aggregation_REDUCE_PERCENTILE_95 Aggregation_Reducer = 10
270 // Reduce by computing 50th percentile of data points across time series
271 // for each alignment period. This reducer is valid for gauge and delta
272 // metrics of numeric and distribution type. The value of the output is
273 // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
274 Aggregation_REDUCE_PERCENTILE_50 Aggregation_Reducer = 11
275 // Reduce by computing 5th percentile of data points across time series
276 // for each alignment period. This reducer is valid for gauge and delta
277 // metrics of numeric and distribution type. The value of the output is
278 // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
279 Aggregation_REDUCE_PERCENTILE_05 Aggregation_Reducer = 12
282 var Aggregation_Reducer_name = map[int32]string{
290 7: "REDUCE_COUNT_TRUE",
291 8: "REDUCE_FRACTION_TRUE",
292 9: "REDUCE_PERCENTILE_99",
293 10: "REDUCE_PERCENTILE_95",
294 11: "REDUCE_PERCENTILE_50",
295 12: "REDUCE_PERCENTILE_05",
297 var Aggregation_Reducer_value = map[string]int32{
305 "REDUCE_COUNT_TRUE": 7,
306 "REDUCE_FRACTION_TRUE": 8,
307 "REDUCE_PERCENTILE_99": 9,
308 "REDUCE_PERCENTILE_95": 10,
309 "REDUCE_PERCENTILE_50": 11,
310 "REDUCE_PERCENTILE_05": 12,
313 func (x Aggregation_Reducer) String() string {
314 return proto.EnumName(Aggregation_Reducer_name, int32(x))
316 func (Aggregation_Reducer) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 1} }
318 // A single strongly-typed value.
319 type TypedValue struct {
320 // The typed value field.
322 // Types that are valid to be assigned to Value:
323 // *TypedValue_BoolValue
324 // *TypedValue_Int64Value
325 // *TypedValue_DoubleValue
326 // *TypedValue_StringValue
327 // *TypedValue_DistributionValue
328 Value isTypedValue_Value `protobuf_oneof:"value"`
331 func (m *TypedValue) Reset() { *m = TypedValue{} }
332 func (m *TypedValue) String() string { return proto.CompactTextString(m) }
333 func (*TypedValue) ProtoMessage() {}
334 func (*TypedValue) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
336 type isTypedValue_Value interface {
340 type TypedValue_BoolValue struct {
341 BoolValue bool `protobuf:"varint,1,opt,name=bool_value,json=boolValue,oneof"`
343 type TypedValue_Int64Value struct {
344 Int64Value int64 `protobuf:"varint,2,opt,name=int64_value,json=int64Value,oneof"`
346 type TypedValue_DoubleValue struct {
347 DoubleValue float64 `protobuf:"fixed64,3,opt,name=double_value,json=doubleValue,oneof"`
349 type TypedValue_StringValue struct {
350 StringValue string `protobuf:"bytes,4,opt,name=string_value,json=stringValue,oneof"`
352 type TypedValue_DistributionValue struct {
353 DistributionValue *google_api2.Distribution `protobuf:"bytes,5,opt,name=distribution_value,json=distributionValue,oneof"`
356 func (*TypedValue_BoolValue) isTypedValue_Value() {}
357 func (*TypedValue_Int64Value) isTypedValue_Value() {}
358 func (*TypedValue_DoubleValue) isTypedValue_Value() {}
359 func (*TypedValue_StringValue) isTypedValue_Value() {}
360 func (*TypedValue_DistributionValue) isTypedValue_Value() {}
362 func (m *TypedValue) GetValue() isTypedValue_Value {
369 func (m *TypedValue) GetBoolValue() bool {
370 if x, ok := m.GetValue().(*TypedValue_BoolValue); ok {
376 func (m *TypedValue) GetInt64Value() int64 {
377 if x, ok := m.GetValue().(*TypedValue_Int64Value); ok {
383 func (m *TypedValue) GetDoubleValue() float64 {
384 if x, ok := m.GetValue().(*TypedValue_DoubleValue); ok {
390 func (m *TypedValue) GetStringValue() string {
391 if x, ok := m.GetValue().(*TypedValue_StringValue); ok {
397 func (m *TypedValue) GetDistributionValue() *google_api2.Distribution {
398 if x, ok := m.GetValue().(*TypedValue_DistributionValue); ok {
399 return x.DistributionValue
404 // XXX_OneofFuncs is for the internal use of the proto package.
405 func (*TypedValue) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
406 return _TypedValue_OneofMarshaler, _TypedValue_OneofUnmarshaler, _TypedValue_OneofSizer, []interface{}{
407 (*TypedValue_BoolValue)(nil),
408 (*TypedValue_Int64Value)(nil),
409 (*TypedValue_DoubleValue)(nil),
410 (*TypedValue_StringValue)(nil),
411 (*TypedValue_DistributionValue)(nil),
415 func _TypedValue_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
416 m := msg.(*TypedValue)
418 switch x := m.Value.(type) {
419 case *TypedValue_BoolValue:
424 b.EncodeVarint(1<<3 | proto.WireVarint)
426 case *TypedValue_Int64Value:
427 b.EncodeVarint(2<<3 | proto.WireVarint)
428 b.EncodeVarint(uint64(x.Int64Value))
429 case *TypedValue_DoubleValue:
430 b.EncodeVarint(3<<3 | proto.WireFixed64)
431 b.EncodeFixed64(math.Float64bits(x.DoubleValue))
432 case *TypedValue_StringValue:
433 b.EncodeVarint(4<<3 | proto.WireBytes)
434 b.EncodeStringBytes(x.StringValue)
435 case *TypedValue_DistributionValue:
436 b.EncodeVarint(5<<3 | proto.WireBytes)
437 if err := b.EncodeMessage(x.DistributionValue); err != nil {
442 return fmt.Errorf("TypedValue.Value has unexpected type %T", x)
447 func _TypedValue_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
448 m := msg.(*TypedValue)
450 case 1: // value.bool_value
451 if wire != proto.WireVarint {
452 return true, proto.ErrInternalBadWireType
454 x, err := b.DecodeVarint()
455 m.Value = &TypedValue_BoolValue{x != 0}
457 case 2: // value.int64_value
458 if wire != proto.WireVarint {
459 return true, proto.ErrInternalBadWireType
461 x, err := b.DecodeVarint()
462 m.Value = &TypedValue_Int64Value{int64(x)}
464 case 3: // value.double_value
465 if wire != proto.WireFixed64 {
466 return true, proto.ErrInternalBadWireType
468 x, err := b.DecodeFixed64()
469 m.Value = &TypedValue_DoubleValue{math.Float64frombits(x)}
471 case 4: // value.string_value
472 if wire != proto.WireBytes {
473 return true, proto.ErrInternalBadWireType
475 x, err := b.DecodeStringBytes()
476 m.Value = &TypedValue_StringValue{x}
478 case 5: // value.distribution_value
479 if wire != proto.WireBytes {
480 return true, proto.ErrInternalBadWireType
482 msg := new(google_api2.Distribution)
483 err := b.DecodeMessage(msg)
484 m.Value = &TypedValue_DistributionValue{msg}
491 func _TypedValue_OneofSizer(msg proto.Message) (n int) {
492 m := msg.(*TypedValue)
494 switch x := m.Value.(type) {
495 case *TypedValue_BoolValue:
496 n += proto.SizeVarint(1<<3 | proto.WireVarint)
498 case *TypedValue_Int64Value:
499 n += proto.SizeVarint(2<<3 | proto.WireVarint)
500 n += proto.SizeVarint(uint64(x.Int64Value))
501 case *TypedValue_DoubleValue:
502 n += proto.SizeVarint(3<<3 | proto.WireFixed64)
504 case *TypedValue_StringValue:
505 n += proto.SizeVarint(4<<3 | proto.WireBytes)
506 n += proto.SizeVarint(uint64(len(x.StringValue)))
507 n += len(x.StringValue)
508 case *TypedValue_DistributionValue:
509 s := proto.Size(x.DistributionValue)
510 n += proto.SizeVarint(5<<3 | proto.WireBytes)
511 n += proto.SizeVarint(uint64(s))
515 panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
520 // A time interval extending just after a start time through an end time.
521 // If the start time is the same as the end time, then the interval
522 // represents a single point in time.
523 type TimeInterval struct {
524 // Required. The end of the time interval.
525 EndTime *google_protobuf2.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime" json:"end_time,omitempty"`
526 // Optional. The beginning of the time interval. The default value
527 // for the start time is the end time. The start time must not be
528 // later than the end time.
529 StartTime *google_protobuf2.Timestamp `protobuf:"bytes,1,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
532 func (m *TimeInterval) Reset() { *m = TimeInterval{} }
533 func (m *TimeInterval) String() string { return proto.CompactTextString(m) }
534 func (*TimeInterval) ProtoMessage() {}
535 func (*TimeInterval) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
537 func (m *TimeInterval) GetEndTime() *google_protobuf2.Timestamp {
544 func (m *TimeInterval) GetStartTime() *google_protobuf2.Timestamp {
551 // Describes how to combine multiple time series to provide different views of
552 // the data. Aggregation consists of an alignment step on individual time
553 // series (`per_series_aligner`) followed by an optional reduction of the data
554 // across different time series (`cross_series_reducer`). For more details, see
555 // [Aggregation](/monitoring/api/learn_more#aggregation).
556 type Aggregation struct {
557 // The alignment period for per-[time series][google.monitoring.v3.TimeSeries]
558 // alignment. If present, `alignmentPeriod` must be at least 60
559 // seconds. After per-time series alignment, each time series will
560 // contain data points only on the period boundaries. If
561 // `perSeriesAligner` is not specified or equals `ALIGN_NONE`, then
562 // this field is ignored. If `perSeriesAligner` is specified and
563 // does not equal `ALIGN_NONE`, then this field must be defined;
564 // otherwise an error is returned.
565 AlignmentPeriod *google_protobuf3.Duration `protobuf:"bytes,1,opt,name=alignment_period,json=alignmentPeriod" json:"alignment_period,omitempty"`
566 // The approach to be used to align individual time series. Not all
567 // alignment functions may be applied to all time series, depending
568 // on the metric type and value type of the original time
569 // series. Alignment may change the metric type or the value type of
572 // Time series data must be aligned in order to perform cross-time
573 // series reduction. If `crossSeriesReducer` is specified, then
574 // `perSeriesAligner` must be specified and not equal `ALIGN_NONE`
575 // and `alignmentPeriod` must be specified; otherwise, an error is
577 PerSeriesAligner Aggregation_Aligner `protobuf:"varint,2,opt,name=per_series_aligner,json=perSeriesAligner,enum=google.monitoring.v3.Aggregation_Aligner" json:"per_series_aligner,omitempty"`
578 // The approach to be used to combine time series. Not all reducer
579 // functions may be applied to all time series, depending on the
580 // metric type and the value type of the original time
581 // series. Reduction may change the metric type of value type of the
584 // Time series data must be aligned in order to perform cross-time
585 // series reduction. If `crossSeriesReducer` is specified, then
586 // `perSeriesAligner` must be specified and not equal `ALIGN_NONE`
587 // and `alignmentPeriod` must be specified; otherwise, an error is
589 CrossSeriesReducer Aggregation_Reducer `protobuf:"varint,4,opt,name=cross_series_reducer,json=crossSeriesReducer,enum=google.monitoring.v3.Aggregation_Reducer" json:"cross_series_reducer,omitempty"`
590 // The set of fields to preserve when `crossSeriesReducer` is
591 // specified. The `groupByFields` determine how the time series are
592 // partitioned into subsets prior to applying the aggregation
593 // function. Each subset contains time series that have the same
594 // value for each of the grouping fields. Each individual time
595 // series is a member of exactly one subset. The
596 // `crossSeriesReducer` is applied to each subset of time series.
597 // It is not possible to reduce across different resource types, so
598 // this field implicitly contains `resource.type`. Fields not
599 // specified in `groupByFields` are aggregated away. If
600 // `groupByFields` is not specified and all the time series have
601 // the same resource type, then the time series are aggregated into
602 // a single output time series. If `crossSeriesReducer` is not
603 // defined, this field is ignored.
604 GroupByFields []string `protobuf:"bytes,5,rep,name=group_by_fields,json=groupByFields" json:"group_by_fields,omitempty"`
607 func (m *Aggregation) Reset() { *m = Aggregation{} }
608 func (m *Aggregation) String() string { return proto.CompactTextString(m) }
609 func (*Aggregation) ProtoMessage() {}
610 func (*Aggregation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
612 func (m *Aggregation) GetAlignmentPeriod() *google_protobuf3.Duration {
614 return m.AlignmentPeriod
619 func (m *Aggregation) GetPerSeriesAligner() Aggregation_Aligner {
621 return m.PerSeriesAligner
623 return Aggregation_ALIGN_NONE
626 func (m *Aggregation) GetCrossSeriesReducer() Aggregation_Reducer {
628 return m.CrossSeriesReducer
630 return Aggregation_REDUCE_NONE
633 func (m *Aggregation) GetGroupByFields() []string {
635 return m.GroupByFields
641 proto.RegisterType((*TypedValue)(nil), "google.monitoring.v3.TypedValue")
642 proto.RegisterType((*TimeInterval)(nil), "google.monitoring.v3.TimeInterval")
643 proto.RegisterType((*Aggregation)(nil), "google.monitoring.v3.Aggregation")
644 proto.RegisterEnum("google.monitoring.v3.Aggregation_Aligner", Aggregation_Aligner_name, Aggregation_Aligner_value)
645 proto.RegisterEnum("google.monitoring.v3.Aggregation_Reducer", Aggregation_Reducer_name, Aggregation_Reducer_value)
648 func init() { proto.RegisterFile("google/monitoring/v3/common.proto", fileDescriptor0) }
650 var fileDescriptor0 = []byte{
651 // 780 bytes of a gzipped FileDescriptorProto
652 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x55, 0xdd, 0x6a, 0xe3, 0x46,
653 0x14, 0xb6, 0xec, 0x64, 0x1d, 0x1f, 0x39, 0xf1, 0x64, 0xd6, 0x4b, 0xdd, 0x40, 0xbb, 0x5e, 0x17,
654 0x8a, 0x7b, 0x23, 0x87, 0xa4, 0x2e, 0x84, 0x42, 0x41, 0xb1, 0xb5, 0x1b, 0x83, 0x23, 0x9b, 0x59,
655 0x25, 0x0d, 0xed, 0x85, 0x90, 0xa3, 0x59, 0x21, 0x90, 0x35, 0x62, 0x24, 0x19, 0x72, 0xd7, 0xab,
656 0xbe, 0x43, 0x5f, 0x61, 0x1f, 0xa9, 0x0f, 0xd1, 0x67, 0x28, 0x9a, 0x19, 0xad, 0x94, 0xd6, 0xa5,
657 0x7b, 0xf9, 0xfd, 0x9c, 0x6f, 0x74, 0xbe, 0x91, 0x6c, 0x78, 0x13, 0x30, 0x16, 0x44, 0x74, 0xb2,
658 0x65, 0x71, 0x98, 0x31, 0x1e, 0xc6, 0xc1, 0x64, 0x77, 0x39, 0x79, 0x64, 0xdb, 0x2d, 0x8b, 0x8d,
659 0x84, 0xb3, 0x8c, 0xe1, 0xbe, 0xb4, 0x18, 0x95, 0xc5, 0xd8, 0x5d, 0x9e, 0x7d, 0xa5, 0x06, 0xbd,
660 0x24, 0x9c, 0xf8, 0x61, 0x9a, 0xf1, 0x70, 0x93, 0x67, 0x61, 0x39, 0x74, 0xf6, 0xb5, 0x92, 0x05,
661 0xda, 0xe4, 0x1f, 0x26, 0x7e, 0xce, 0xbd, 0x9a, 0xfe, 0xfa, 0x9f, 0x7a, 0x16, 0x6e, 0x69, 0x9a,
662 0x79, 0xdb, 0x44, 0x1a, 0x46, 0x7f, 0x69, 0x00, 0xce, 0x53, 0x42, 0xfd, 0x7b, 0x2f, 0xca, 0x29,
663 0x7e, 0x0d, 0xb0, 0x61, 0x2c, 0x72, 0x77, 0x05, 0x1a, 0x68, 0x43, 0x6d, 0x7c, 0x74, 0xd3, 0x20,
664 0x9d, 0x82, 0x93, 0x86, 0x37, 0xa0, 0x87, 0x71, 0xf6, 0xc3, 0xf7, 0xca, 0xd1, 0x1c, 0x6a, 0xe3,
665 0xd6, 0x4d, 0x83, 0x80, 0x20, 0xa5, 0xe5, 0x1b, 0xe8, 0xfa, 0x2c, 0xdf, 0x44, 0x54, 0x79, 0x5a,
666 0x43, 0x6d, 0xac, 0xdd, 0x34, 0x88, 0x2e, 0xd9, 0x4f, 0xa6, 0x62, 0x99, 0x38, 0x50, 0xa6, 0x83,
667 0xa1, 0x36, 0xee, 0x14, 0x26, 0xc9, 0x4a, 0xd3, 0x02, 0x70, 0x7d, 0x67, 0x65, 0x3d, 0x1c, 0x6a,
668 0x63, 0xfd, 0x62, 0x60, 0xa8, 0xbe, 0xbc, 0x24, 0x34, 0xe6, 0x35, 0xd7, 0x4d, 0x83, 0x9c, 0xd6,
669 0xa7, 0x44, 0xd4, 0x75, 0x1b, 0x0e, 0xc5, 0xf4, 0xe8, 0x37, 0x0d, 0xba, 0x4e, 0xb8, 0xa5, 0x8b,
670 0x38, 0xa3, 0x7c, 0xe7, 0x45, 0x78, 0x0a, 0x47, 0x34, 0xf6, 0xdd, 0xa2, 0x18, 0xb1, 0x8e, 0x7e,
671 0x71, 0x56, 0x46, 0x97, 0xad, 0x19, 0x4e, 0xd9, 0x1a, 0x69, 0xd3, 0xd8, 0x2f, 0x10, 0xbe, 0x02,
672 0x48, 0x33, 0x8f, 0x67, 0x72, 0x50, 0xfb, 0xdf, 0xc1, 0x8e, 0x70, 0x17, 0x78, 0xf4, 0xb1, 0x0d,
673 0xba, 0x19, 0x04, 0x9c, 0x06, 0xe2, 0xaa, 0xf0, 0x1c, 0x90, 0x17, 0x85, 0x41, 0xbc, 0xa5, 0x71,
674 0xe6, 0x26, 0x94, 0x87, 0xcc, 0x57, 0x81, 0x5f, 0xfe, 0x2b, 0x70, 0xae, 0xee, 0x97, 0xf4, 0x3e,
675 0x8d, 0xac, 0xc5, 0x04, 0xfe, 0x19, 0x70, 0x42, 0xb9, 0x9b, 0x52, 0x1e, 0xd2, 0xd4, 0x15, 0x2a,
676 0xe5, 0x62, 0xa3, 0x93, 0x8b, 0xef, 0x8c, 0x7d, 0x2f, 0x97, 0x51, 0x7b, 0x08, 0xc3, 0x94, 0x03,
677 0x04, 0x25, 0x94, 0xbf, 0x17, 0x19, 0x8a, 0xc1, 0xbf, 0x42, 0xff, 0x91, 0xb3, 0x34, 0x2d, 0xa3,
678 0x39, 0xf5, 0xf3, 0x47, 0xca, 0xc5, 0x95, 0x7d, 0x56, 0x34, 0x91, 0x03, 0x04, 0x8b, 0x18, 0x19,
679 0xae, 0x38, 0xfc, 0x2d, 0xf4, 0x02, 0xce, 0xf2, 0xc4, 0xdd, 0x3c, 0xb9, 0x1f, 0x42, 0x1a, 0xf9,
680 0xe9, 0xe0, 0x70, 0xd8, 0x1a, 0x77, 0xc8, 0xb1, 0xa0, 0xaf, 0x9f, 0xde, 0x0a, 0x72, 0xf4, 0x67,
681 0x13, 0xda, 0xe5, 0x03, 0x9d, 0x00, 0x98, 0xcb, 0xc5, 0x3b, 0xdb, 0xb5, 0x57, 0xb6, 0x85, 0x1a,
682 0xb8, 0x07, 0xba, 0xc4, 0x73, 0x6b, 0xe9, 0x98, 0x48, 0xab, 0x0c, 0xc4, 0x74, 0x2c, 0xd4, 0xc4,
683 0xaf, 0xe0, 0x54, 0xe2, 0x85, 0xed, 0x58, 0x64, 0xbd, 0x5a, 0x16, 0x74, 0x0b, 0xf7, 0x01, 0xa9,
684 0x1c, 0xeb, 0xc1, 0x71, 0x57, 0xcb, 0xb9, 0x45, 0xd0, 0x01, 0x3e, 0x86, 0x8e, 0x64, 0x6f, 0x17,
685 0x36, 0x82, 0x1a, 0x34, 0x1f, 0x90, 0x5e, 0x45, 0xdf, 0x5a, 0xa6, 0x8d, 0xba, 0xd5, 0xd9, 0xb3,
686 0xd5, 0x9d, 0xed, 0xa0, 0xe3, 0xca, 0xff, 0xfe, 0xee, 0x16, 0x9d, 0x60, 0x04, 0x5d, 0x05, 0x9d,
687 0xf9, 0xdc, 0xba, 0x47, 0xbd, 0xea, 0x54, 0x31, 0xe1, 0x3a, 0xe4, 0xce, 0x42, 0x08, 0x7f, 0x01,
688 0x2f, 0x25, 0xfb, 0x96, 0x98, 0x33, 0x67, 0xb1, 0xb2, 0xa5, 0x70, 0x5a, 0x09, 0x6b, 0x8b, 0xcc,
689 0x2c, 0xdb, 0x59, 0x2c, 0x2d, 0xf7, 0xea, 0x0a, 0xe1, 0xfd, 0xc2, 0x14, 0xbd, 0xdc, 0x2b, 0x4c,
690 0xcf, 0x51, 0x7f, 0xaf, 0x70, 0x3e, 0x45, 0xaf, 0x46, 0x7f, 0x34, 0xa1, 0x5d, 0x5e, 0x48, 0x0f,
691 0x74, 0x62, 0xcd, 0xef, 0x66, 0x56, 0xad, 0x5d, 0x45, 0x88, 0x95, 0x45, 0xbb, 0x25, 0xb1, 0xb0,
692 0x51, 0xb3, 0x8e, 0xcd, 0x07, 0xd4, 0xaa, 0xe1, 0xa2, 0x82, 0x03, 0x7c, 0x0a, 0xc7, 0x25, 0x96,
693 0x1d, 0x1c, 0x16, 0xad, 0x28, 0x4a, 0xd6, 0xf6, 0xa2, 0xb8, 0xa2, 0x3a, 0x23, 0xb7, 0x6f, 0xe3,
694 0x01, 0xf4, 0x15, 0xfd, 0xbc, 0x97, 0xa3, 0x9a, 0xf2, 0xbc, 0x98, 0xce, 0x7f, 0x28, 0x53, 0x04,
695 0xfb, 0x95, 0xe9, 0x39, 0xd2, 0xf7, 0x2b, 0xe7, 0x53, 0xd4, 0xbd, 0xfe, 0x5d, 0x83, 0xc1, 0x23,
696 0xdb, 0xee, 0x7d, 0xcb, 0xaf, 0xf5, 0x99, 0xf8, 0x05, 0x5f, 0x17, 0x5f, 0xe7, 0x5a, 0xfb, 0xe5,
697 0x27, 0x65, 0x0a, 0x58, 0xe4, 0xc5, 0x81, 0xc1, 0x78, 0x30, 0x09, 0x68, 0x2c, 0xbe, 0xdd, 0x89,
698 0x94, 0xbc, 0x24, 0x4c, 0x9f, 0xff, 0x09, 0xfc, 0x58, 0xa1, 0x8f, 0xcd, 0xb3, 0x77, 0x32, 0x60,
699 0x16, 0xb1, 0xdc, 0x37, 0x6e, 0xab, 0xb3, 0xee, 0x2f, 0x37, 0x2f, 0x44, 0xce, 0xe5, 0xdf, 0x01,
700 0x00, 0x00, 0xff, 0xff, 0x53, 0x47, 0x59, 0x88, 0x4b, 0x06, 0x00, 0x00,