Add protos for monitoring API.
This commit is contained in:
parent
41f2bf6894
commit
529cc649da
|
|
@ -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