parent
41f2bf6894
commit
529cc649da
7 changed files with 1100 additions and 0 deletions
@ -0,0 +1,90 @@ |
||||
// 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/annotations.proto"; |
||||
import "google/monitoring/v3/common.proto"; |
||||
import "google/protobuf/timestamp.proto"; |
||||
|
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "AgentProto"; |
||||
option java_package = "com.google.monitoring.v3"; |
||||
|
||||
|
||||
// A single data point from a `collectd`-based plugin. |
||||
message CollectdValue { |
||||
// The type of measurement for the data source. |
||||
enum DataSourceType { |
||||
// An unspecified data source type. |
||||
// This corresponds to [google.api.MetricDescriptor.MetricKind.METRIC_KIND_UNSPECIFIED]. |
||||
UNSPECIFIED_DATA_SOURCE_TYPE = 0; |
||||
|
||||
// An instantaneous measurement of a varying quantity. |
||||
// This corresponds to [google.api.MetricDescriptor.MetricKind.GAUGE]. |
||||
GAUGE = 1; |
||||
|
||||
// A cumulative value over time. |
||||
// This corresponds to [google.api.MetricDescriptor.MetricKind.CUMULATIVE]. |
||||
COUNTER = 2; |
||||
|
||||
// A rate of change of the measurement. |
||||
DERIVE = 3; |
||||
|
||||
// An amount of change since the last measurement interval. |
||||
// This corresponds to [google.api.MetricDescriptor.MetricKind.DELTA]. |
||||
ABSOLUTE = 4; |
||||
} |
||||
|
||||
// The data source for the `collectd` value. For example there are |
||||
// two data sources for network measurements: `"rx"` and `"tx"`. |
||||
string data_source_name = 1; |
||||
|
||||
// The type of measurement. |
||||
DataSourceType data_source_type = 2; |
||||
|
||||
// The measurement value. |
||||
TypedValue value = 3; |
||||
} |
||||
|
||||
// A collection of data points sent from a `collectd`-based plugin. |
||||
// See the `collectd` documentation for more information. |
||||
message CollectdPayload { |
||||
// The measured values during this time interval. |
||||
// Each value must have a different `dataSourceName`. |
||||
repeated CollectdValue values = 1; |
||||
|
||||
// The start time of the interval. |
||||
google.protobuf.Timestamp start_time = 2; |
||||
|
||||
// The end time of the interval. |
||||
google.protobuf.Timestamp end_time = 3; |
||||
|
||||
// The name of the plugin. Example: `"disk"`. |
||||
string plugin = 4; |
||||
|
||||
// The instance name of the plugin Example: `"hdcl"`. |
||||
string plugin_instance = 5; |
||||
|
||||
// The measurement type. Example: `"memory"`. |
||||
string type = 6; |
||||
|
||||
// The measurement type instance. Example: `"used"`. |
||||
string type_instance = 7; |
||||
|
||||
// The measurement metadata. Example: `"process_id" -> 12345` |
||||
map<string, TypedValue> metadata = 8; |
||||
} |
@ -0,0 +1,60 @@ |
||||
// 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/annotations.proto"; |
||||
import "google/api/monitored_resource.proto"; |
||||
import "google/monitoring/v3/agent.proto"; |
||||
import "google/protobuf/empty.proto"; |
||||
|
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "AgentServiceProto"; |
||||
option java_package = "com.google.monitoring.v3"; |
||||
|
||||
|
||||
// The AgentTranslation API allows `collectd`-based agents to |
||||
// write time series data to Cloud Monitoring. |
||||
// See [google.monitoring.v3.MetricService.CreateTimeSeries] instead. |
||||
service AgentTranslationService { |
||||
// **Stackdriver Monitoring Agent only:** Creates a new time series. |
||||
// |
||||
// <aside class="caution">This method is only for use by the Google Monitoring Agent. |
||||
// Use [projects.timeSeries.create][google.monitoring.v3.MetricService.CreateTimeSeries] |
||||
// instead.</aside> |
||||
rpc CreateCollectdTimeSeries(CreateCollectdTimeSeriesRequest) returns (google.protobuf.Empty) { |
||||
option (google.api.http) = { post: "/v3/{name=projects/*}/collectdTimeSeries", body: "*" }; |
||||
} |
||||
} |
||||
|
||||
// The `CreateCollectdTimeSeries` request. |
||||
message CreateCollectdTimeSeriesRequest { |
||||
// The project in which to create the time series. The format is |
||||
// `"projects/PROJECT_ID_OR_NUMBER"`. |
||||
string name = 5; |
||||
|
||||
// The monitored resource associated with the time series. |
||||
google.api.MonitoredResource resource = 2; |
||||
|
||||
// The version of `collectd` that collected the data. Example: `"5.3.0-192.el6"`. |
||||
string collectd_version = 3; |
||||
|
||||
// The `collectd` payloads representing the time series data. |
||||
// You must not include more than a single point for each |
||||
// time series, so no two payloads can have the same values |
||||
// for all of the fields `plugin`, `plugin_instance`, `type`, and `type_instance`. |
||||
repeated CollectdPayload collectd_payloads = 4; |
||||
} |
@ -0,0 +1,317 @@ |
||||
// 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/distribution.proto"; |
||||
import "google/protobuf/duration.proto"; |
||||
import "google/protobuf/timestamp.proto"; |
||||
|
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "CommonProto"; |
||||
option java_package = "com.google.monitoring.v3"; |
||||
|
||||
|
||||
// A single strongly-typed value. |
||||
message TypedValue { |
||||
// The typed value field. |
||||
oneof value { |
||||
// A Boolean value: `true` or `false`. |
||||
bool bool_value = 1; |
||||
|
||||
// A 64-bit integer. Its range is approximately ±9.2x10<sup>18</sup>. |
||||
int64 int64_value = 2; |
||||
|
||||
// A 64-bit double-precision floating-point number. Its magnitude |
||||
// is approximately ±10<sup>±300</sup> and it has 16 |
||||
// significant digits of precision. |
||||
double double_value = 3; |
||||
|
||||
// A variable-length string value. |
||||
string string_value = 4; |
||||
|
||||
// A distribution value. |
||||
google.api.Distribution distribution_value = 5; |
||||
} |
||||
} |
||||
|
||||
// A time interval extending from after `startTime` through `endTime`. If |
||||
// `startTime` is omitted, the interval is the single point in time, `endTime`. |
||||
message TimeInterval { |
||||
// Required. The end of the interval. The interval includes this |
||||
// time. |
||||
google.protobuf.Timestamp end_time = 2; |
||||
|
||||
// If this value is omitted, the interval is a point in time, |
||||
// `endTime`. If `startTime` is present, it must be earlier than |
||||
// (less than) `endTime`. The interval begins after |
||||
// `startTime`—it does not include `startTime`. |
||||
google.protobuf.Timestamp start_time = 1; |
||||
} |
||||
|
||||
// Describes how to combine, or aggregate, multiple time series to |
||||
// provide different views of the data. |
||||
// See [Aggregation](/monitoring/api/learn_more#aggregation) for more details. |
||||
message Aggregation { |
||||
// The Aligner describes how to bring the data points in a single |
||||
// time series into temporal alignment. |
||||
enum Aligner { |
||||
// No alignment. Raw data is returned. Not valid if cross-time |
||||
// series reduction is requested. The value type of the result is |
||||
// the same as the value type of the input. |
||||
ALIGN_NONE = 0; |
||||
|
||||
// Align and convert to delta metric type. This alignment is valid |
||||
// for cumulative metrics and delta metrics. Aligning an existing |
||||
// delta metric to a delta metric requires that the alignment |
||||
// period be increased. The value type of the result is the same |
||||
// as the value type of the input. |
||||
ALIGN_DELTA = 1; |
||||
|
||||
// Align and convert to a rate. This alignment is valid for |
||||
// cumulative metrics and delta metrics with numeric values. The output is a |
||||
// gauge metric with value type |
||||
// [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]. |
||||
ALIGN_RATE = 2; |
||||
|
||||
// Align by interpolating between adjacent points around the |
||||
// period boundary. This alignment is valid for gauge and delta |
||||
// metrics with numeric values. The value type of the result is the same |
||||
// as the value type of the input. |
||||
ALIGN_INTERPOLATE = 3; |
||||
|
||||
// Align by shifting the oldest data point before the period |
||||
// boundary to the boundary. This alignment is valid for gauge |
||||
// metrics. The value type of the result is the same as the |
||||
// value type of the input. |
||||
ALIGN_NEXT_OLDER = 4; |
||||
|
||||
// Align time series via aggregation. The resulting data point in |
||||
// the alignment period is the minimum of all data points in the |
||||
// period. This alignment is valid for gauge and delta metrics with numeric |
||||
// values. The value type of the result is the same as the value |
||||
// type of the input. |
||||
ALIGN_MIN = 10; |
||||
|
||||
// Align time series via aggregation. The resulting data point in |
||||
// the alignment period is the maximum of all data points in the |
||||
// period. This alignment is valid for gauge and delta metrics with numeric |
||||
// values. The value type of the result is the same as the value |
||||
// type of the input. |
||||
ALIGN_MAX = 11; |
||||
|
||||
// Align time series via aggregation. The resulting data point in |
||||
// the alignment period is the average or arithmetic mean of all |
||||
// data points in the period. This alignment is valid for gauge and delta |
||||
// metrics with numeric values. The value type of the output is |
||||
// [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]. |
||||
ALIGN_MEAN = 12; |
||||
|
||||
// Align time series via aggregation. The resulting data point in |
||||
// the alignment period is the count of all data points in the |
||||
// period. This alignment is valid for gauge and delta metrics with numeric |
||||
// or Boolean values. The value type of the output is |
||||
// [INT64][google.api.MetricDescriptor.ValueType.INT64]. |
||||
ALIGN_COUNT = 13; |
||||
|
||||
// Align time series via aggregation. The resulting data point in |
||||
// the alignment period is the sum of all data points in the |
||||
// period. This alignment is valid for gauge and delta metrics with numeric |
||||
// and distribution values. The value type of the output is the |
||||
// same as the value type of the input. |
||||
ALIGN_SUM = 14; |
||||
|
||||
// Align time series via aggregation. The resulting data point in |
||||
// the alignment period is the standard deviation of all data |
||||
// points in the period. This alignment is valid for gauge and delta metrics |
||||
// with numeric values. The value type of the output is |
||||
// [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]. |
||||
ALIGN_STDDEV = 15; |
||||
|
||||
// Align time series via aggregation. The resulting data point in |
||||
// the alignment period is the count of True-valued data points in the |
||||
// period. This alignment is valid for gauge metrics with |
||||
// Boolean values. The value type of the output is |
||||
// [INT64][google.api.MetricDescriptor.ValueType.INT64]. |
||||
ALIGN_COUNT_TRUE = 16; |
||||
|
||||
// Align time series via aggregation. The resulting data point in |
||||
// the alignment period is the fraction of True-valued data points in the |
||||
// period. This alignment is valid for gauge metrics with Boolean values. |
||||
// The output value is in the range [0, 1] and has value type |
||||
// [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]. |
||||
ALIGN_FRACTION_TRUE = 17; |
||||
|
||||
// Align time series via aggregation. The resulting data point in |
||||
// the alignment period is the 99th percentile of all data |
||||
// points in the period. This alignment is valid for gauge and delta metrics |
||||
// with distribution values. The output is a gauge metric with value type |
||||
// [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]. |
||||
ALIGN_PERCENTILE_99 = 18; |
||||
|
||||
// Align time series via aggregation. The resulting data point in |
||||
// the alignment period is the 95th percentile of all data |
||||
// points in the period. This alignment is valid for gauge and delta metrics |
||||
// with distribution values. The output is a gauge metric with value type |
||||
// [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]. |
||||
ALIGN_PERCENTILE_95 = 19; |
||||
|
||||
// Align time series via aggregation. The resulting data point in |
||||
// the alignment period is the 50th percentile of all data |
||||
// points in the period. This alignment is valid for gauge and delta metrics |
||||
// with distribution values. The output is a gauge metric with value type |
||||
// [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]. |
||||
ALIGN_PERCENTILE_50 = 20; |
||||
|
||||
// Align time series via aggregation. The resulting data point in |
||||
// the alignment period is the 5th percentile of all data |
||||
// points in the period. This alignment is valid for gauge and delta metrics |
||||
// with distribution values. The output is a gauge metric with value type |
||||
// [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]. |
||||
ALIGN_PERCENTILE_05 = 21; |
||||
} |
||||
|
||||
// A Reducer describes how to aggregate data points from multiple |
||||
// time series into a single time series. |
||||
enum Reducer { |
||||
// No cross-time series reduction. The output of the aligner is |
||||
// returned. |
||||
REDUCE_NONE = 0; |
||||
|
||||
// Reduce by computing the mean across time series for each |
||||
// alignment period. This reducer is valid for delta and |
||||
// gauge metrics with numeric or distribution values. The value type of the |
||||
// output is [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]. |
||||
REDUCE_MEAN = 1; |
||||
|
||||
// Reduce by computing the minimum across time series for each |
||||
// alignment period. This reducer is valid for delta and |
||||
// gauge metrics with numeric values. The value type of the output |
||||
// is the same as the value type of the input. |
||||
REDUCE_MIN = 2; |
||||
|
||||
// Reduce by computing the maximum across time series for each |
||||
// alignment period. This reducer is valid for delta and |
||||
// gauge metrics with numeric values. The value type of the output |
||||
// is the same as the value type of the input. |
||||
REDUCE_MAX = 3; |
||||
|
||||
// Reduce by computing the sum across time series for each |
||||
// alignment period. This reducer is valid for delta and |
||||
// gauge metrics with numeric and distribution values. The value type of |
||||
// the output is the same as the value type of the input. |
||||
REDUCE_SUM = 4; |
||||
|
||||
// Reduce by computing the standard deviation across time series |
||||
// for each alignment period. This reducer is valid for delta |
||||
// and gauge metrics with numeric or distribution values. The value type of |
||||
// the output is [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]. |
||||
REDUCE_STDDEV = 5; |
||||
|
||||
// Reduce by computing the count of data points across time series |
||||
// for each alignment period. This reducer is valid for delta |
||||
// and gauge metrics of numeric, Boolean, distribution, and string value |
||||
// type. The value type of the output is |
||||
// [INT64][google.api.MetricDescriptor.ValueType.INT64]. |
||||
REDUCE_COUNT = 6; |
||||
|
||||
// Reduce by computing the count of True-valued data points across time |
||||
// series for each alignment period. This reducer is valid for delta |
||||
// and gauge metrics of Boolean value type. The value type of |
||||
// the output is [INT64][google.api.MetricDescriptor.ValueType.INT64]. |
||||
REDUCE_COUNT_TRUE = 7; |
||||
|
||||
// Reduce by computing the fraction of True-valued data points across time |
||||
// series for each alignment period. This reducer is valid for delta |
||||
// and gauge metrics of Boolean value type. The output value is in the |
||||
// range [0, 1] and has value type |
||||
// [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]. |
||||
REDUCE_FRACTION_TRUE = 8; |
||||
|
||||
// Reduce by computing 99th percentile of data points across time series |
||||
// for each alignment period. This reducer is valid for gauge and delta |
||||
// metrics of numeric and distribution type. The value of the output is |
||||
// [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE] |
||||
REDUCE_PERCENTILE_99 = 9; |
||||
|
||||
// Reduce by computing 95th percentile of data points across time series |
||||
// for each alignment period. This reducer is valid for gauge and delta |
||||
// metrics of numeric and distribution type. The value of the output is |
||||
// [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE] |
||||
REDUCE_PERCENTILE_95 = 10; |
||||
|
||||
// Reduce by computing 50th percentile of data points across time series |
||||
// for each alignment period. This reducer is valid for gauge and delta |
||||
// metrics of numeric and distribution type. The value of the output is |
||||
// [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE] |
||||
REDUCE_PERCENTILE_50 = 11; |
||||
|
||||
// Reduce by computing 5th percentile of data points across time series |
||||
// for each alignment period. This reducer is valid for gauge and delta |
||||
// metrics of numeric and distribution type. The value of the output is |
||||
// [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE] |
||||
REDUCE_PERCENTILE_05 = 12; |
||||
} |
||||
|
||||
// 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; |
||||
|
||||
// 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. |
||||
Aligner per_series_aligner = 2; |
||||
|
||||
// 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. |
||||
Reducer cross_series_reducer = 4; |
||||
|
||||
// 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. |
||||
// Fields not specified in `groupByFields` are aggregated away. |
||||
// If `groupByFields` is not specified, 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; |
||||
} |
@ -0,0 +1,74 @@ |
||||
// 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; |
||||
|
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "GroupProto"; |
||||
option java_package = "com.google.monitoring.v3"; |
||||
|
||||
|
||||
// The description of a dynamic collection of monitored resources. Each group |
||||
// has a filter that is matched against monitored resources and their associated |
||||
// metadata. If a group's filter matches an available monitored resource, then |
||||
// that resource is a member of that group. Groups can contain any number of |
||||
// monitored resources, and each monitored resource can be a member of any |
||||
// number of groups. |
||||
// |
||||
// Groups can be nested in parent-child hierarchies. The `parentName` field |
||||
// identifies an optional parent for each group. If a group has a parent, then |
||||
// the only monitored resources available to be matched by the group's filter |
||||
// are the resources contained in the parent group. In other words, a group |
||||
// contains the monitored resources that match its filter and the filters of all |
||||
// the group's ancestors. A group without a parent can contain any monitored |
||||
// resource. |
||||
// |
||||
// For example, consider an infrastructure running a set of instances with two |
||||
// user-defined tags: `"environment"` and `"role"`. A parent group has a filter, |
||||
// `environment="production"`. A child of that parent group has a filter, |
||||
// `role="transcoder"`. The parent group contains all instances in the |
||||
// production environment, regardless of their roles. The child group contains |
||||
// instances that have the transcoder role *and* are in the production |
||||
// environment. |
||||
// |
||||
// The monitored resources contained in a group can change at any moment, |
||||
// depending on what resources exist and what filters are associated with the |
||||
// group and its ancestors. |
||||
message Group { |
||||
// The name of this group. |
||||
// The format is |
||||
// `"projects/{project_id_or_number}/groups/{group_id}"`. |
||||
// When creating a group, this field is ignored and a new name is created |
||||
// consisting of the project specified in the call to `CreateGroup` |
||||
// and a unique `{group_id}` that is generated automatically. |
||||
// @OutputOnly |
||||
string name = 1; |
||||
|
||||
// A user-assigned name for this group, used only for display purposes. |
||||
string display_name = 2; |
||||
|
||||
// The name of the group's parent, if it has one. |
||||
// The format is `"projects/{project_id_or_number}/groups/{group_id}"`. |
||||
// For groups with no parent, `parentName` is the empty string, `""`. |
||||
string parent_name = 3; |
||||
|
||||
// The filter used to determine which monitored resources belong to this group. |
||||
string filter = 5; |
||||
|
||||
// If true, the members of this group are considered to be a cluster. |
||||
// The system can perform additional analysis on groups that are clusters. |
||||
bool is_cluster = 6; |
||||
} |
@ -0,0 +1,210 @@ |
||||
// 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/annotations.proto"; |
||||
import "google/api/monitored_resource.proto"; |
||||
import "google/monitoring/v3/common.proto"; |
||||
import "google/monitoring/v3/group.proto"; |
||||
import "google/protobuf/empty.proto"; |
||||
|
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "GroupServiceProto"; |
||||
option java_package = "com.google.monitoring.v3"; |
||||
|
||||
|
||||
// The Group API lets you inspect and manage your |
||||
// [groups](google.monitoring.v3.Group). |
||||
// |
||||
// A group is a named filter that is used to identify |
||||
// a collection of monitored resources. Groups are typically used to |
||||
// mirror the physical and/or logical topology of the environment. |
||||
// Because group membership is computed dynamically, monitored |
||||
// resources that are started in the future are automatically placed |
||||
// in matching groups. By using a group to name monitored resources in, |
||||
// for example, an alert policy, the target of that alert policy is |
||||
// updated automatically as monitored resources are added and removed |
||||
// from the infrastructure. |
||||
service GroupService { |
||||
// Lists the existing groups. The project ID in the URL path must refer |
||||
// to a Stackdriver account. |
||||
rpc ListGroups(ListGroupsRequest) returns (ListGroupsResponse) { |
||||
option (google.api.http) = { get: "/v3/{name=projects/*}/groups" }; |
||||
} |
||||
|
||||
// Gets a single group. The project ID in the URL path must refer to a |
||||
// Stackdriver account. |
||||
rpc GetGroup(GetGroupRequest) returns (Group) { |
||||
option (google.api.http) = { get: "/v3/{name=projects/*/groups/*}" }; |
||||
} |
||||
|
||||
// Creates a new group. The project ID in the URL path must refer to a |
||||
// Stackdriver account. |
||||
rpc CreateGroup(CreateGroupRequest) returns (Group) { |
||||
option (google.api.http) = { post: "/v3/{name=projects/*}/groups", body: "group" }; |
||||
} |
||||
|
||||
// Updates an existing group. |
||||
// You can change any group attributes except `name`. |
||||
// The project ID in the URL path must refer to a Stackdriver account. |
||||
rpc UpdateGroup(UpdateGroupRequest) returns (Group) { |
||||
option (google.api.http) = { put: "/v3/{group.name=projects/*/groups/*}", body: "group" }; |
||||
} |
||||
|
||||
// Deletes an existing group. The project ID in the URL path must refer to a |
||||
// Stackdriver account. |
||||
rpc DeleteGroup(DeleteGroupRequest) returns (google.protobuf.Empty) { |
||||
option (google.api.http) = { delete: "/v3/{name=projects/*/groups/*}" }; |
||||
} |
||||
|
||||
// Lists the monitored resources that are members of a group. The project ID |
||||
// in the URL path must refer to a Stackdriver account. |
||||
rpc ListGroupMembers(ListGroupMembersRequest) returns (ListGroupMembersResponse) { |
||||
option (google.api.http) = { get: "/v3/{name=projects/*/groups/*}/members" }; |
||||
} |
||||
} |
||||
|
||||
// The `ListGroup` request. |
||||
message ListGroupsRequest { |
||||
// The project whose groups are to be listed. The format is |
||||
// `"projects/{project_id_or_number}"`. |
||||
string name = 7; |
||||
|
||||
// An optional filter consisting of a single group name. The filters limit the |
||||
// groups returned based on their parent-child relationship with the specified |
||||
// group. If no filter is specified, all groups are returned. |
||||
oneof filter { |
||||
// A group name: `"projects/{project_id_or_number}/groups/{group_id}"`. |
||||
// Returns groups whose `parentName` field contains the group |
||||
// name. If no groups have this parent, the results are empty. |
||||
string children_of_group = 2; |
||||
|
||||
// A group name: `"projects/{project_id_or_number}/groups/{group_id}"`. |
||||
// Returns groups that are ancestors of the specified group. |
||||
// The groups are returned in order, starting with the immediate parent and |
||||
// ending with the most distant ancestor. If the specified group has no |
||||
// immediate parent, the results are empty. |
||||
string ancestors_of_group = 3; |
||||
|
||||
// A group name: `"projects/{project_id_or_number}/groups/{group_id}"`. |
||||
// Returns the descendants of the specified group. This is a superset of |
||||
// the results returned by the `childrenOfGroup` filter, and includes |
||||
// children-of-children, and so forth. |
||||
string descendants_of_group = 4; |
||||
} |
||||
|
||||
// A positive number that is the maximum number of results to return. |
||||
int32 page_size = 5; |
||||
|
||||
// If this field is not empty then it must contain the `nextPageToken` value |
||||
// returned by a previous call to this method. Using this field causes the |
||||
// method to return additional results from the previous method call. |
||||
string page_token = 6; |
||||
} |
||||
|
||||
// The `ListGroups` response. |
||||
message ListGroupsResponse { |
||||
// The groups that match the specified filters. |
||||
repeated Group group = 1; |
||||
|
||||
// If there are more results than have been returned, then this field is set |
||||
// to a non-empty value. To see the additional results, |
||||
// use that value as `pageToken` in the next call to this method. |
||||
string next_page_token = 2; |
||||
} |
||||
|
||||
// The `GetGroup` request. |
||||
message GetGroupRequest { |
||||
// The group to retrieve. The format is |
||||
// `"projects/{project_id_or_number}/groups/{group_id}"`. |
||||
string name = 3; |
||||
} |
||||
|
||||
// The `CreateGroup` request. |
||||
message CreateGroupRequest { |
||||
// The project in which to create the group. The format is |
||||
// `"projects/{project_id_or_number}"`. |
||||
string name = 4; |
||||
|
||||
// A group definition. It is an error to define the `name` field because |
||||
// the system assigns the name. |
||||
Group group = 2; |
||||
|
||||
// If true, validate this request but do not create the group. |
||||
bool validate_only = 3; |
||||
} |
||||
|
||||
// The `UpdateGroup` request. |
||||
message UpdateGroupRequest { |
||||
// The new definition of the group. All fields of the existing group, |
||||
// excepting `name`, are replaced with the corresponding fields of this group. |
||||
Group group = 2; |
||||
|
||||
// If true, validate this request but do not update the existing group. |
||||
bool validate_only = 3; |
||||
} |
||||
|
||||
// The `DeleteGroup` request. You can only delete a group if it has no children. |
||||
message DeleteGroupRequest { |
||||
// The group to delete. The format is |
||||
// `"projects/{project_id_or_number}/groups/{group_id}"`. |
||||
string name = 3; |
||||
} |
||||
|
||||
// The `ListGroupMembers` request. |
||||
message ListGroupMembersRequest { |
||||
// The group whose members are listed. The format is |
||||
// `"projects/{project_id_or_number}/groups/{group_id}"`. |
||||
string name = 7; |
||||
|
||||
// A positive number that is the maximum number of results to return. |
||||
int32 page_size = 3; |
||||
|
||||
// If this field is not empty then it must contain the `nextPageToken` value |
||||
// returned by a previous call to this method. Using this field causes the |
||||
// method to return additional results from the previous method call. |
||||
string page_token = 4; |
||||
|
||||
// An optional [list filter](/monitoring/api/learn_more#filtering) describing |
||||
// the members to be returned. The filter may reference the type, labels, and |
||||
// metadata of monitored resources that comprise the group. |
||||
// For example, to return only resources representing Compute Engine VM |
||||
// instances, use this filter: |
||||
// |
||||
// resource.type = "gce_instance" |
||||
string filter = 5; |
||||
|
||||
// An optional time interval for which results should be returned. Only |
||||
// members that were part of the group during the specified interval are |
||||
// included in the response. If no interval is provided then the group |
||||
// membership over the last minute is returned. |
||||
TimeInterval interval = 6; |
||||
} |
||||
|
||||
// The `ListGroupMembers` response. |
||||
message ListGroupMembersResponse { |
||||
// A set of monitored resources in the group. |
||||
repeated google.api.MonitoredResource members = 1; |
||||
|
||||
// If there are more results than have been returned, then this field is |
||||
// set to a non-empty value. To see the additional results, use that value as |
||||
// `pageToken` in the next call to this method. |
||||
string next_page_token = 2; |
||||
|
||||
// The total number of elements matching this request. |
||||
int32 total_size = 3; |
||||
} |
@ -0,0 +1,65 @@ |
||||
// 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 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 value applies. |
||||
TimeInterval interval = 1; |
||||
|
||||
// The value of the data point. |
||||
TypedValue value = 2; |
||||
} |
||||
|
||||
// A collection of data points that describes the time-varying nature |
||||
// of a metric. A time series is identified by a combination of a |
||||
// fully-specified monitored resource and a fully-specified metric. |
||||
message TimeSeries { |
||||
// The fully-specified metric used to identify the time series. |
||||
google.api.Metric metric = 1; |
||||
|
||||
// The fully-specified monitored resource used to identify the time series. |
||||
google.api.MonitoredResource resource = 2; |
||||
|
||||
// The metric kind of the time series. This can be different than the metric |
||||
// kind specified in [google.api.MetricDescriptor] because of alignment and |
||||
// reduction operations on the data. This field is ignored when writing data; |
||||
// the value specified in the descriptor is used instead. |
||||
// @OutputOnly |
||||
google.api.MetricDescriptor.MetricKind metric_kind = 3; |
||||
|
||||
// The value type of the time series. This can be different than the value |
||||
// type specified in [google.api.MetricDescriptor] because of alignment and |
||||
// reduction operations on the data. This field is ignored when writing data; |
||||
// the value specified in the descriptor is used instead. |
||||
// @OutputOnly |
||||
google.api.MetricDescriptor.ValueType value_type = 4; |
||||
|
||||
// The data points of this time series. When used as output, points will be |
||||
// sorted by decreasing time order. When used as input, points could be |
||||
// written in any orders. |
||||
repeated Point points = 5; |
||||
} |
@ -0,0 +1,284 @@ |
||||
// 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/annotations.proto"; |
||||
import "google/api/metric.proto"; |
||||
import "google/api/monitored_resource.proto"; |
||||
import "google/monitoring/v3/common.proto"; |
||||
import "google/monitoring/v3/metric.proto"; |
||||
import "google/protobuf/empty.proto"; |
||||
import "google/rpc/status.proto"; |
||||
|
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "MetricServiceProto"; |
||||
option java_package = "com.google.monitoring.v3"; |
||||
|
||||
|
||||
// Manages metric descriptors, monitored resource descriptors, and |
||||
// time series data. |
||||
service MetricService { |
||||
// Lists monitored resource descriptors that match a filter. |
||||
rpc ListMonitoredResourceDescriptors(ListMonitoredResourceDescriptorsRequest) returns (ListMonitoredResourceDescriptorsResponse) { |
||||
option (google.api.http) = { get: "/v3/{name=projects/*}/monitoredResourceDescriptors" }; |
||||
} |
||||
|
||||
// Gets a single monitored resource descriptor. |
||||
rpc GetMonitoredResourceDescriptor(GetMonitoredResourceDescriptorRequest) returns (google.api.MonitoredResourceDescriptor) { |
||||
option (google.api.http) = { get: "/v3/{name=projects/*/monitoredResourceDescriptors/*}" }; |
||||
} |
||||
|
||||
// Lists metric descriptors that match a filter. |
||||
rpc ListMetricDescriptors(ListMetricDescriptorsRequest) returns (ListMetricDescriptorsResponse) { |
||||
option (google.api.http) = { get: "/v3/{name=projects/*}/metricDescriptors" }; |
||||
} |
||||
|
||||
// Gets a single metric descriptor. |
||||
rpc GetMetricDescriptor(GetMetricDescriptorRequest) returns (google.api.MetricDescriptor) { |
||||
option (google.api.http) = { get: "/v3/{name=projects/*/metricDescriptors/**}" }; |
||||
} |
||||
|
||||
// Creates a new metric descriptor. |
||||
// User-created metric descriptors define |
||||
// [custom metrics](/monitoring/custom-metrics). |
||||
rpc CreateMetricDescriptor(CreateMetricDescriptorRequest) returns (google.api.MetricDescriptor) { |
||||
option (google.api.http) = { post: "/v3/{name=projects/*}/metricDescriptors", body: "metric_descriptor" }; |
||||
} |
||||
|
||||
// Deletes a metric descriptor. Only user-created |
||||
// [custom metrics](/monitoring/custom-metrics) can be deleted. |
||||
rpc DeleteMetricDescriptor(DeleteMetricDescriptorRequest) returns (google.protobuf.Empty) { |
||||
option (google.api.http) = { delete: "/v3/{name=projects/*/metricDescriptors/**}" }; |
||||
} |
||||
|
||||
// Lists time series that match a filter. |
||||
rpc ListTimeSeries(ListTimeSeriesRequest) returns (ListTimeSeriesResponse) { |
||||
option (google.api.http) = { get: "/v3/{name=projects/*}/timeSeries" }; |
||||
} |
||||
|
||||
// Creates or adds data to one or more time series. |
||||
// The response is empty if all time series in the request were written. |
||||
// If any time series could not be written, a corresponding failure message is |
||||
// included in the error response. |
||||
rpc CreateTimeSeries(CreateTimeSeriesRequest) returns (google.protobuf.Empty) { |
||||
option (google.api.http) = { post: "/v3/{name=projects/*}/timeSeries", body: "*" }; |
||||
} |
||||
} |
||||
|
||||
// The `ListMonitoredResourceDescriptors` request. |
||||
message ListMonitoredResourceDescriptorsRequest { |
||||
// The project on which to execute the request. The format is |
||||
// `"projects/{project_id_or_number}"`. |
||||
string name = 5; |
||||
|
||||
// An optional [filter](/monitoring/api/v3/filters) describing |
||||
// the descriptors to be returned. The filter can reference |
||||
// the descriptor's type and labels. For example, the |
||||
// following filter returns only Google Compute Engine descriptors |
||||
// that have an `id` label: |
||||
// |
||||
// resource.type = starts_with("gce_") AND resource.label:id |
||||
string filter = 2; |
||||
|
||||
// A positive number that is the maximum number of results to return. |
||||
int32 page_size = 3; |
||||
|
||||
// If this field is not empty then it must contain the `nextPageToken` value |
||||
// returned by a previous call to this method. Using this field causes the |
||||
// method to return additional results from the previous method call. |
||||
string page_token = 4; |
||||
} |
||||
|
||||
// The `ListMonitoredResourcDescriptors` response. |
||||
message ListMonitoredResourceDescriptorsResponse { |
||||
// The monitored resource descriptors that are available to this project |
||||
// and that match `filter`, if present. |
||||
repeated google.api.MonitoredResourceDescriptor resource_descriptors = 1; |
||||
|
||||
// If there are more results than have been returned, then this field is set |
||||
// to a non-empty value. To see the additional results, |
||||
// use that value as `pageToken` in the next call to this method. |
||||
string next_page_token = 2; |
||||
} |
||||
|
||||
// The `GetMonitoredResourceDescriptor` request. |
||||
message GetMonitoredResourceDescriptorRequest { |
||||
// The monitored resource descriptor to get. The format is |
||||
// `"projects/{project_id_or_number}/monitoredResourceDescriptors/{resource_type}"`. |
||||
// The `{resource_type}` is a predefined type, such as |
||||
// `cloudsql_database`. |
||||
string name = 3; |
||||
} |
||||
|
||||
// The `ListMetricDescriptors` request. |
||||
message ListMetricDescriptorsRequest { |
||||
// The project on which to execute the request. The format is |
||||
// `"projects/{project_id_or_number}"`. |
||||
string name = 5; |
||||
|
||||
// If this field is empty, all custom and |
||||
// system-defined metric descriptors are returned. |
||||
// Otherwise, the [filter](/monitoring/api/v3/filters) |
||||
// specifies which metric descriptors are to be |
||||
// returned. For example, the following filter matches all |
||||
// [custom metrics](/monitoring/custom-metrics): |
||||
// |
||||
// metric.type = starts_with("custom.googleapis.com/") |
||||
string filter = 2; |
||||
|
||||
// A positive number that is the maximum number of results to return. |
||||
int32 page_size = 3; |
||||
|
||||
// If this field is not empty then it must contain the `nextPageToken` value |
||||
// returned by a previous call to this method. Using this field causes the |
||||
// method to return additional results from the previous method call. |
||||
string page_token = 4; |
||||
} |
||||
|
||||
// The `ListMetricDescriptors` response. |
||||
message ListMetricDescriptorsResponse { |
||||
// The metric descriptors that are available to the project |
||||
// and that match the value of `filter`, if present. |
||||
repeated google.api.MetricDescriptor metric_descriptors = 1; |
||||
|
||||
// If there are more results than have been returned, then this field is set |
||||
// to a non-empty value. To see the additional results, |
||||
// use that value as `pageToken` in the next call to this method. |
||||
string next_page_token = 2; |
||||
} |
||||
|
||||
// The `GetMetricDescriptor` request. |
||||
message GetMetricDescriptorRequest { |
||||
// The metric descriptor on which to execute the request. The format is |
||||
// `"projects/{project_id_or_number}/metricDescriptors/{metric_id}"`. |
||||
// An example value of `{metric_id}` is |
||||
// `"compute.googleapis.com/instance/disk/read_bytes_count"`. |
||||
string name = 3; |
||||
} |
||||
|
||||
// The `CreateMetricDescriptor` request. |
||||
message CreateMetricDescriptorRequest { |
||||
// The project on which to execute the request. The format is |
||||
// `"projects/{project_id_or_number}"`. |
||||
string name = 3; |
||||
|
||||
// The new [custom metric](/monitoring/custom-metrics) |
||||
// descriptor. |
||||
google.api.MetricDescriptor metric_descriptor = 2; |
||||
} |
||||
|
||||
// The `DeleteMetricDescriptor` request. |
||||
message DeleteMetricDescriptorRequest { |
||||
// The metric descriptor on which to execute the request. The format is |
||||
// `"projects/{project_id_or_number}/metricDescriptors/{metric_id}"`. |
||||
// An example of `{metric_id}` is: |
||||
// `"custom.googleapis.com/my_test_metric"`. |
||||
string name = 3; |
||||
} |
||||
|
||||
// The `ListTimeSeries` request. |
||||
message ListTimeSeriesRequest { |
||||
// Controls which fields are returned by `ListTimeSeries`. |
||||
enum TimeSeriesView { |
||||
// Returns the identity of the metric(s), the time series, |
||||
// and the time series data. |
||||
FULL = 0; |
||||
|
||||
// Returns the identity of the metric and the time series resource, |
||||
// but not the time series data. |
||||
HEADERS = 1; |
||||
} |
||||
|
||||
// The project on which to execute the request. The format is |
||||
// "projects/{project_id_or_number}". |
||||
string name = 10; |
||||
|
||||
// A [monitoring filter](/monitoring/api/v3/filters) that specifies which time |
||||
// series should be returned. The filter must specify a single metric type, |
||||
// and can additionally specify metric labels and other information. For |
||||
// example: |
||||
// |
||||
// metric.type = "compute.googleapis.com/instance/cpu/usage_time" AND |
||||
// metric.label.instance_name = "my-instance-name" |
||||
string filter = 2; |
||||
|
||||
// The time interval for which results should be returned. Only time series |
||||
// that contain data points in the specified interval are included |
||||
// in the response. |
||||
TimeInterval interval = 4; |
||||
|
||||
// By default, the raw time series data is returned. |
||||
// Use this field to combine multiple time series for different |
||||
// views of the data. |
||||
Aggregation aggregation = 5; |
||||
|
||||
// Specifies the order in which the points of the time series should |
||||
// be returned. By default, results are not ordered. Currently, |
||||
// this field must be left blank. |
||||
string order_by = 6; |
||||
|
||||
// Specifies which information is returned about the time series. |
||||
TimeSeriesView view = 7; |
||||
|
||||
// A positive number that is the maximum number of results to return. |
||||
// When `view` field sets to `FULL`, it limits the number of `Points` server |
||||
// will return; if `view` field is `HEADERS`, it limits the number of |
||||
// `TimeSeries` server will return. |
||||
int32 page_size = 8; |
||||
|
||||
// If this field is not empty then it must contain the `nextPageToken` value |
||||
// returned by a previous call to this method. Using this field causes the |
||||
// method to return additional results from the previous method call. |
||||
string page_token = 9; |
||||
} |
||||
|
||||
// The `ListTimeSeries` response. |
||||
message ListTimeSeriesResponse { |
||||
// One or more time series that match the filter included in the request. |
||||
repeated TimeSeries time_series = 1; |
||||
|
||||
// If there are more results than have been returned, then this field is set |
||||
// to a non-empty value. To see the additional results, |
||||
// use that value as `pageToken` in the next call to this method. |
||||
string next_page_token = 2; |
||||
} |
||||
|
||||
// The `CreateTimeSeries` request. |
||||
message CreateTimeSeriesRequest { |
||||
// The project on which to execute the request. The format is |
||||
// `"projects/{project_id_or_number}"`. |
||||
string name = 3; |
||||
|
||||
// The new data to be added to a list of time series. |
||||
// Adds at most one data point to each of several time series. The new data |
||||
// point must be more recent than any other point in its time series. Each |
||||
// `TimeSeries` value must fully specify a unique time series by supplying |
||||
// all label values for the metric and the monitored resource. |
||||
repeated TimeSeries time_series = 2; |
||||
} |
||||
|
||||
// Describes the result of a failed request to write data to a time series. |
||||
message CreateTimeSeriesError { |
||||
// The time series, including the `Metric`, `MonitoredResource`, |
||||
// and `Point`s (including timestamp and value) that resulted |
||||
// in the error. This field provides all of the context that |
||||
// would be needed to retry the operation. |
||||
TimeSeries time_series = 1; |
||||
|
||||
// The status of the requested write operation. |
||||
google.rpc.Status status = 2; |
||||
} |
Loading…
Reference in new issue