| // Copyright 2016 Google Inc. |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| syntax = "proto3"; |
| |
| package google.monitoring.v3; |
| |
| import "google/api/metric.proto"; |
| import "google/api/monitored_resource.proto"; |
| import "google/monitoring/v3/common.proto"; |
| |
| option csharp_namespace = "Google.Cloud.Monitoring.V3"; |
| option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring"; |
| option java_multiple_files = true; |
| option java_outer_classname = "MetricProto"; |
| option java_package = "com.google.monitoring.v3"; |
| |
| |
| // A single data point in a time series. |
| message Point { |
| // The time interval to which the data point applies. For GAUGE metrics, only |
| // the end time of the interval is used. For DELTA metrics, the start and end |
| // time should specify a non-zero interval, with subsequent points specifying |
| // contiguous and non-overlapping intervals. For CUMULATIVE metrics, the |
| // start and end time should specify a non-zero interval, with subsequent |
| // points specifying the same start time and increasing end times, until an |
| // event resets the cumulative value to zero and sets a new start time for the |
| // following points. |
| TimeInterval interval = 1; |
| |
| // The value of the data point. |
| TypedValue value = 2; |
| } |
| |
| // A collection of data points that describes the time-varying values |
| // of a metric. A time series is identified by a combination of a |
| // fully-specified monitored resource and a fully-specified metric. |
| // This type is used for both listing and creating time series. |
| message TimeSeries { |
| // The associated metric. A fully-specified metric used to identify the time |
| // series. |
| google.api.Metric metric = 1; |
| |
| // The associated resource. A fully-specified monitored resource used to |
| // identify the time series. |
| google.api.MonitoredResource resource = 2; |
| |
| // The metric kind of the time series. When listing time series, this metric |
| // kind might be different from the metric kind of the associated metric if |
| // this time series is an alignment or reduction of other time series. |
| // |
| // When creating a time series, this field is optional. If present, it must be |
| // the same as the metric kind of the associated metric. If the associated |
| // metric's descriptor must be auto-created, then this field specifies the |
| // metric kind of the new descriptor and must be either `GAUGE` (the default) |
| // or `CUMULATIVE`. |
| google.api.MetricDescriptor.MetricKind metric_kind = 3; |
| |
| // The value type of the time series. When listing time series, this value |
| // type might be different from the value type of the associated metric if |
| // this time series is an alignment or reduction of other time series. |
| // |
| // When creating a time series, this field is optional. If present, it must be |
| // the same as the type of the data in the `points` field. |
| google.api.MetricDescriptor.ValueType value_type = 4; |
| |
| // The data points of this time series. When listing time series, the order of |
| // the points is specified by the list method. |
| // |
| // When creating a time series, this field must contain exactly one point and |
| // the point's type must be the same as the value type of the associated |
| // metric. If the associated metric's descriptor must be auto-created, then |
| // the value type of the descriptor is determined by the point's type, which |
| // must be `BOOL`, `INT64`, `DOUBLE`, or `DISTRIBUTION`. |
| repeated Point points = 5; |
| } |