Add Monitoring Dashboards API protocol buffers to Google Cloud Monitoring API.
PiperOrigin-RevId: 284982647
This commit is contained in:
parent
e47fdd2665
commit
ee3f02926d
|
|
@ -0,0 +1,398 @@
|
|||
// Copyright 2019 Google LLC.
|
||||
//
|
||||
// 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.dashboard.v1;
|
||||
|
||||
import "google/api/distribution.proto";
|
||||
import "google/protobuf/duration.proto";
|
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/monitoring/dashboard/v1;dashboard";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "CommonProto";
|
||||
option java_package = "com.google.monitoring.dashboard.v1";
|
||||
|
||||
// Describes how to combine multiple time series to provide different views of
|
||||
// the data. Aggregation consists of an alignment step on individual time
|
||||
// series (`alignment_period` and `per_series_aligner`) followed by an optional
|
||||
// reduction step of the data across the aligned time series
|
||||
// (`cross_series_reducer` and `group_by_fields`). For more details, see
|
||||
// [Aggregation](/monitoring/api/learn_more#aggregation).
|
||||
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.
|
||||
//
|
||||
// One can think of this aligner as a rate but without time units; that
|
||||
// is, the output is conceptually (second_point - first_point).
|
||||
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].
|
||||
//
|
||||
// One can think of this aligner as conceptually providing the slope of
|
||||
// the line that passes through the value at the start and end of the
|
||||
// window. In other words, this is conceptually ((y1 - y0)/(t1 - t0)),
|
||||
// and the output unit is one that has a "/time" dimension.
|
||||
//
|
||||
// If, by rate, you are looking for percentage change, see the
|
||||
// `ALIGN_PERCENT_CHANGE` aligner option.
|
||||
ALIGN_RATE = 2;
|
||||
|
||||
// Align by interpolating between adjacent points around the
|
||||
// period boundary. This alignment is valid for gauge
|
||||
// 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 count of False-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_FALSE = 24;
|
||||
|
||||
// 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;
|
||||
|
||||
// Align and convert to a percentage change. This alignment is valid for
|
||||
// gauge and delta metrics with numeric values. This alignment conceptually
|
||||
// computes the equivalent of "((current - previous)/previous)*100"
|
||||
// where previous value is determined based on the alignmentPeriod.
|
||||
// In the event that previous is 0 the calculated value is infinity with the
|
||||
// exception that if both (current - previous) and previous are 0 the
|
||||
// calculated value is 0.
|
||||
// A 10 minute moving mean is computed at each point of the time window
|
||||
// prior to the above calculation to smooth the metric and prevent false
|
||||
// positives from very short lived spikes.
|
||||
// Only applicable for data that is >= 0. Any values < 0 are treated as
|
||||
// no data. While delta metrics are accepted by this alignment special care
|
||||
// should be taken that the values for the metric will always be positive.
|
||||
// The output is a gauge metric with value type
|
||||
// [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
|
||||
ALIGN_PERCENT_CHANGE = 23;
|
||||
}
|
||||
|
||||
// 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 count of False-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_FALSE = 15;
|
||||
|
||||
// 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][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.
|
||||
// It is not possible to reduce across different resource types, so
|
||||
// this field implicitly contains `resource.type`. Fields not
|
||||
// specified in `groupByFields` are aggregated away. If
|
||||
// `groupByFields` is not specified and all the time series have
|
||||
// the same resource type, then the time series are aggregated into
|
||||
// a single output time series. If `crossSeriesReducer` is not
|
||||
// defined, this field is ignored.
|
||||
repeated string group_by_fields = 5;
|
||||
}
|
||||
|
||||
// Describes a ranking-based time series filter. Each input time series is
|
||||
// ranked with an aligner. The filter lets through up to `num_time_series` time
|
||||
// series, selecting them based on the relative ranking.
|
||||
message PickTimeSeriesFilter {
|
||||
// The value reducers that can be applied to a PickTimeSeriesFilter.
|
||||
enum Method {
|
||||
// Not allowed in well-formed requests.
|
||||
METHOD_UNSPECIFIED = 0;
|
||||
|
||||
// Select the mean of all values.
|
||||
METHOD_MEAN = 1;
|
||||
|
||||
// Select the maximum value.
|
||||
METHOD_MAX = 2;
|
||||
|
||||
// Select the minimum value.
|
||||
METHOD_MIN = 3;
|
||||
|
||||
// Compute the sum of all values.
|
||||
METHOD_SUM = 4;
|
||||
|
||||
// Select the most recent value.
|
||||
METHOD_LATEST = 5;
|
||||
}
|
||||
|
||||
// Describes the ranking directions.
|
||||
enum Direction {
|
||||
// Not allowed in well-formed requests.
|
||||
DIRECTION_UNSPECIFIED = 0;
|
||||
|
||||
// Pass the highest ranking inputs.
|
||||
TOP = 1;
|
||||
|
||||
// Pass the lowest ranking inputs.
|
||||
BOTTOM = 2;
|
||||
}
|
||||
|
||||
// `rankingMethod` is applied to each time series independently to produce the
|
||||
// value which will be used to compare the time series to other time series.
|
||||
Method ranking_method = 1;
|
||||
|
||||
// How many time series to return.
|
||||
int32 num_time_series = 2;
|
||||
|
||||
// How to use the ranking to select time series that pass through the filter.
|
||||
Direction direction = 3;
|
||||
}
|
||||
|
||||
// A filter that ranks streams based on their statistical relation to other
|
||||
// streams in a request.
|
||||
message StatisticalTimeSeriesFilter {
|
||||
// The filter methods that can be applied to a stream.
|
||||
enum Method {
|
||||
// Not allowed in well-formed requests.
|
||||
METHOD_UNSPECIFIED = 0;
|
||||
|
||||
// Compute the outlier score of each stream.
|
||||
METHOD_CLUSTER_OUTLIER = 1;
|
||||
}
|
||||
|
||||
// `rankingMethod` is applied to a set of time series, and then the produced
|
||||
// value for each individual time series is used to compare a given time
|
||||
// series to others.
|
||||
// These are methods that cannot be applied stream-by-stream, but rather
|
||||
// require the full context of a request to evaluate time series.
|
||||
Method ranking_method = 1;
|
||||
|
||||
// How many time series to output.
|
||||
int32 num_time_series = 2;
|
||||
}
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
// Copyright 2019 Google LLC.
|
||||
//
|
||||
// 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.dashboard.v1;
|
||||
|
||||
import "google/monitoring/dashboard/v1/layouts.proto";
|
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/monitoring/dashboard/v1;dashboard";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "DashboardsProto";
|
||||
option java_package = "com.google.monitoring.dashboard.v1";
|
||||
|
||||
// A Google Stackdriver dashboard. Dashboards define the content and layout
|
||||
// of pages in the Stackdriver web application.
|
||||
message Dashboard {
|
||||
// The resource name of the dashboard.
|
||||
string name = 1;
|
||||
|
||||
// The mutable, human-readable name.
|
||||
string display_name = 2;
|
||||
|
||||
// `etag` is used for optimistic concurrency control as a way to help
|
||||
// prevent simultaneous updates of a policy from overwriting each other.
|
||||
// An `etag` is returned in the response to `GetDashboard`, and
|
||||
// users are expected to put that etag in the request to `UpdateDashboard` to
|
||||
// ensure that their change will be applied to the same version of the
|
||||
// Dashboard configuration. The field should not be passed during
|
||||
// dashboard creation.
|
||||
string etag = 4;
|
||||
|
||||
// A dashboard's root container element that defines the layout style.
|
||||
oneof layout {
|
||||
// Content is arranged with a basic layout that re-flows a simple list of
|
||||
// informational elements like widgets or tiles.
|
||||
GridLayout grid_layout = 5;
|
||||
|
||||
// The content is divided into equally spaced rows and the widgets are
|
||||
// arranged horizontally.
|
||||
RowLayout row_layout = 8;
|
||||
|
||||
// The content is divided into equally spaced columns and the widgets are
|
||||
// arranged vertically.
|
||||
ColumnLayout column_layout = 9;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,157 @@
|
|||
// Copyright 2019 Google LLC.
|
||||
//
|
||||
// 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.dashboard.v1;
|
||||
|
||||
import "google/api/annotations.proto";
|
||||
import "google/monitoring/dashboard/v1/dashboard.proto";
|
||||
import "google/protobuf/empty.proto";
|
||||
import "google/protobuf/field_mask.proto";
|
||||
import "google/api/client.proto";
|
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/monitoring/dashboard/v1;dashboard";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "DashboardsServiceProto";
|
||||
option java_package = "com.google.monitoring.dashboard.v1";
|
||||
|
||||
// Manages Stackdriver dashboards. A dashboard is an arrangement of data display
|
||||
// widgets in a specific layout.
|
||||
service DashboardsService {
|
||||
option (google.api.default_host) = "monitoring.googleapis.com";
|
||||
option (google.api.oauth_scopes) =
|
||||
"https://www.googleapis.com/auth/cloud-platform,"
|
||||
"https://www.googleapis.com/auth/monitoring,"
|
||||
"https://www.googleapis.com/auth/monitoring.read,"
|
||||
"https://www.googleapis.com/auth/monitoring.write";
|
||||
|
||||
// Creates a new custom dashboard.
|
||||
//
|
||||
// This method requires the `monitoring.dashboards.create` permission
|
||||
// on the specified project. For more information, see
|
||||
// [Google Cloud IAM](https://cloud.google.com/iam).
|
||||
rpc CreateDashboard(CreateDashboardRequest) returns (Dashboard) {
|
||||
option (google.api.http) = {
|
||||
post: "/v1/{parent=projects/*}/dashboards"
|
||||
body: "dashboard"
|
||||
};
|
||||
}
|
||||
|
||||
// Lists the existing dashboards.
|
||||
//
|
||||
// This method requires the `monitoring.dashboards.list` permission
|
||||
// on the specified project. For more information, see
|
||||
// [Google Cloud IAM](https://cloud.google.com/iam).
|
||||
rpc ListDashboards(ListDashboardsRequest) returns (ListDashboardsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{parent=projects/*}/dashboards"
|
||||
};
|
||||
}
|
||||
|
||||
// Fetches a specific dashboard.
|
||||
//
|
||||
// This method requires the `monitoring.dashboards.get` permission
|
||||
// on the specified dashboard. For more information, see
|
||||
// [Google Cloud IAM](https://cloud.google.com/iam).
|
||||
rpc GetDashboard(GetDashboardRequest) returns (Dashboard) {
|
||||
option (google.api.http) = {
|
||||
get: "/v1/{name=projects/*/dashboards/*}"
|
||||
};
|
||||
}
|
||||
|
||||
// Deletes an existing custom dashboard.
|
||||
//
|
||||
// This method requires the `monitoring.dashboards.delete` permission
|
||||
// on the specified dashboard. For more information, see
|
||||
// [Google Cloud IAM](https://cloud.google.com/iam).
|
||||
rpc DeleteDashboard(DeleteDashboardRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
delete: "/v1/{name=projects/*/dashboards/*}"
|
||||
};
|
||||
}
|
||||
|
||||
// Replaces an existing custom dashboard with a new definition.
|
||||
//
|
||||
// This method requires the `monitoring.dashboards.update` permission
|
||||
// on the specified dashboard. For more information, see
|
||||
// [Google Cloud IAM](https://cloud.google.com/iam).
|
||||
rpc UpdateDashboard(UpdateDashboardRequest) returns (Dashboard) {
|
||||
option (google.api.http) = {
|
||||
patch: "/v1/{dashboard.name=projects/*/dashboards/*}"
|
||||
body: "dashboard"
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// The `CreateDashboard` request.
|
||||
message CreateDashboardRequest {
|
||||
// The project on which to execute the request. The format is
|
||||
// `"projects/{project_id_or_number}"`. The {project_id_or_number} must match
|
||||
// the dashboard resource name.
|
||||
string parent = 1;
|
||||
|
||||
// The initial dashboard specification.
|
||||
Dashboard dashboard = 2;
|
||||
}
|
||||
|
||||
// The `ListDashboards` request.
|
||||
message ListDashboardsRequest {
|
||||
// The scope of the dashboards to list. A project scope must be
|
||||
// specified in the form of `"projects/{project_id_or_number}"`.
|
||||
string parent = 1;
|
||||
|
||||
// A positive number that is the maximum number of results to return.
|
||||
// If unspecified, a default of 1000 is used.
|
||||
int32 page_size = 2;
|
||||
|
||||
// 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 = 3;
|
||||
}
|
||||
|
||||
// The `ListDashboards` request.
|
||||
message ListDashboardsResponse {
|
||||
// The list of requested dashboards.
|
||||
repeated Dashboard dashboards = 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 `GetDashboard` request.
|
||||
message GetDashboardRequest {
|
||||
// The resource name of the Dashboard. The format is one of
|
||||
// `"dashboards/{dashboard_id}"` (for system dashboards) or
|
||||
// `"projects/{project_id_or_number}/dashboards/{dashboard_id}"`
|
||||
// (for custom dashboards).
|
||||
string name = 1;
|
||||
}
|
||||
|
||||
// The `DeleteDashboard` request.
|
||||
message DeleteDashboardRequest {
|
||||
// The resource name of the Dashboard. The format is
|
||||
// `"projects/{project_id_or_number}/dashboards/{dashboard_id}"`.
|
||||
string name = 1;
|
||||
}
|
||||
|
||||
// The `UpdateDashboard` request.
|
||||
message UpdateDashboardRequest {
|
||||
// The dashboard that will replace the existing dashboard.
|
||||
Dashboard dashboard = 1;
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
// Copyright 2019 Google LLC.
|
||||
//
|
||||
// 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.dashboard.v1;
|
||||
|
||||
import "google/monitoring/dashboard/v1/common.proto";
|
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/monitoring/dashboard/v1;dashboard";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "DrilldownsProto";
|
||||
option java_package = "com.google.monitoring.dashboard.v1";
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
// Copyright 2019 Google LLC.
|
||||
//
|
||||
// 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.dashboard.v1;
|
||||
|
||||
import "google/monitoring/dashboard/v1/widget.proto";
|
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/monitoring/dashboard/v1;dashboard";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "LayoutsProto";
|
||||
option java_package = "com.google.monitoring.dashboard.v1";
|
||||
|
||||
// A basic layout divides the available space into vertical columns of equal
|
||||
// width and arranges a list of widgets using a row-first strategy.
|
||||
message GridLayout {
|
||||
// The number of columns into which the view's width is divided. If omitted
|
||||
// or set to zero, a system default will be used while rendering.
|
||||
int64 columns = 1;
|
||||
|
||||
// The informational elements that are arranged into the columns row-first.
|
||||
repeated Widget widgets = 2;
|
||||
}
|
||||
|
||||
// A simplified layout that divides the available space into rows
|
||||
// and arranges a set of widgets horizontally in each row.
|
||||
message RowLayout {
|
||||
// Defines the layout properties and content for a row.
|
||||
message Row {
|
||||
// The relative weight of this row. The row weight is used to adjust the
|
||||
// height of rows on the screen (relative to peers). Greater the weight,
|
||||
// greater the height of the row on the screen. If omitted, a value
|
||||
// of 1 is used while rendering.
|
||||
int64 weight = 1;
|
||||
|
||||
// The display widgets arranged horizontally in this row.
|
||||
repeated Widget widgets = 2;
|
||||
}
|
||||
|
||||
// The rows of content to display.
|
||||
repeated Row rows = 1;
|
||||
}
|
||||
|
||||
// A simplified layout that divides the available space into vertical columns
|
||||
// and arranges a set of widgets vertically in each column.
|
||||
message ColumnLayout {
|
||||
// Defines the layout properties and content for a column.
|
||||
message Column {
|
||||
// The relative weight of this column. The column weight is used to adjust
|
||||
// the width of columns on the screen (relative to peers).
|
||||
// Greater the weight, greater the width of the column on the screen.
|
||||
// If omitted, a value of 1 is used while rendering.
|
||||
int64 weight = 1;
|
||||
|
||||
// The display widgets arranged vertically in this column.
|
||||
repeated Widget widgets = 2;
|
||||
}
|
||||
|
||||
// The columns of content to display.
|
||||
repeated Column columns = 1;
|
||||
}
|
||||
|
|
@ -0,0 +1,165 @@
|
|||
// Copyright 2019 Google LLC.
|
||||
//
|
||||
// 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.dashboard.v1;
|
||||
|
||||
import "google/api/field_behavior.proto";
|
||||
import "google/monitoring/dashboard/v1/common.proto";
|
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/monitoring/dashboard/v1;dashboard";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "MetricsProto";
|
||||
option java_package = "com.google.monitoring.dashboard.v1";
|
||||
|
||||
// TimeSeriesQuery collects the set of supported methods for querying time
|
||||
// series data from the Stackdriver metrics API.
|
||||
message TimeSeriesQuery {
|
||||
// Parameters needed to obtain data for the chart.
|
||||
oneof source {
|
||||
// Filter parameters to fetch time series.
|
||||
TimeSeriesFilter time_series_filter = 1;
|
||||
|
||||
// Parameters to fetch a ratio between two time series filters.
|
||||
TimeSeriesFilterRatio time_series_filter_ratio = 2;
|
||||
}
|
||||
|
||||
// The unit of data contained in fetched time series. If non-empty, this
|
||||
// unit will override any unit that accompanies fetched data. The format is
|
||||
// the same as the
|
||||
// [`unit`](/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)
|
||||
// field in `MetricDescriptor`.
|
||||
string unit_override = 5;
|
||||
}
|
||||
|
||||
// A filter that defines a subset of time series data that is displayed in a
|
||||
// widget. Time series data is fetched using the
|
||||
// [`ListTimeSeries`](/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list)
|
||||
// method.
|
||||
message TimeSeriesFilter {
|
||||
// Required. The [monitoring filter](/monitoring/api/v3/filters) that identifies the
|
||||
// metric types, resources, and projects to query.
|
||||
string filter = 1 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// 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 = 2;
|
||||
|
||||
// Selects an optional time series filter.
|
||||
oneof output_filter {
|
||||
// Ranking based time series filter.
|
||||
PickTimeSeriesFilter pick_time_series_filter = 4;
|
||||
|
||||
// Statistics based time series filter.
|
||||
StatisticalTimeSeriesFilter statistical_time_series_filter = 5;
|
||||
}
|
||||
}
|
||||
|
||||
// A pair of time series filters that define a ratio computation. The output
|
||||
// time series is the pair-wise division of each aligned element from the
|
||||
// numerator and denominator time series.
|
||||
message TimeSeriesFilterRatio {
|
||||
// Describes a query to build the numerator or denominator of a
|
||||
// TimeSeriesFilterRatio.
|
||||
message RatioPart {
|
||||
// Required. The [monitoring filter](/monitoring/api/v3/filters) that identifies the
|
||||
// metric types, resources, and projects to query.
|
||||
string filter = 1 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// 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 = 2;
|
||||
}
|
||||
|
||||
// The numerator of the ratio.
|
||||
RatioPart numerator = 1;
|
||||
|
||||
// The denominator of the ratio.
|
||||
RatioPart denominator = 2;
|
||||
|
||||
// Apply a second aggregation after the ratio is computed.
|
||||
Aggregation secondary_aggregation = 3;
|
||||
|
||||
// Selects an optional filter that is applied to the time series after
|
||||
// computing the ratio.
|
||||
oneof output_filter {
|
||||
// Ranking based time series filter.
|
||||
PickTimeSeriesFilter pick_time_series_filter = 4;
|
||||
|
||||
// Statistics based time series filter.
|
||||
StatisticalTimeSeriesFilter statistical_time_series_filter = 5;
|
||||
}
|
||||
}
|
||||
|
||||
// Defines a threshold for categorizing time series values.
|
||||
message Threshold {
|
||||
// The color suggests an interpretation to the viewer when actual values cross
|
||||
// the threshold. Comments on each color provide UX guidance on how users can
|
||||
// be expected to interpret a given state color.
|
||||
enum Color {
|
||||
// Color is unspecified. Not allowed in well-formed requests.
|
||||
COLOR_UNSPECIFIED = 0;
|
||||
|
||||
// Crossing the threshold is "concerning" behavior.
|
||||
YELLOW = 4;
|
||||
|
||||
// Crossing the threshold is "emergency" behavior.
|
||||
RED = 6;
|
||||
}
|
||||
|
||||
// Whether the threshold is considered crossed by an actual value above or
|
||||
// below its threshold value.
|
||||
enum Direction {
|
||||
// Not allowed in well-formed requests.
|
||||
DIRECTION_UNSPECIFIED = 0;
|
||||
|
||||
// The threshold will be considered crossed if the actual value is above
|
||||
// the threshold value.
|
||||
ABOVE = 1;
|
||||
|
||||
// The threshold will be considered crossed if the actual value is below
|
||||
// the threshold value.
|
||||
BELOW = 2;
|
||||
}
|
||||
|
||||
// A label for the threshold.
|
||||
string label = 1;
|
||||
|
||||
// The value of the threshold. The value should be defined in the native scale
|
||||
// of the metric.
|
||||
double value = 2;
|
||||
|
||||
// The state color for this threshold. Color is not allowed in a XyChart.
|
||||
Color color = 3;
|
||||
|
||||
// The direction for the current threshold. Direction is not allowed in a
|
||||
// XyChart.
|
||||
Direction direction = 4;
|
||||
}
|
||||
|
||||
// Defines the possible types of spark chart supported by the `Scorecard`.
|
||||
enum SparkChartType {
|
||||
// Not allowed in well-formed requests.
|
||||
SPARK_CHART_TYPE_UNSPECIFIED = 0;
|
||||
|
||||
// The sparkline will be rendered as a small line chart.
|
||||
SPARK_LINE = 1;
|
||||
|
||||
// The sparkbar will be rendered as a small bar chart.
|
||||
SPARK_BAR = 2;
|
||||
}
|
||||
|
|
@ -0,0 +1,207 @@
|
|||
type: google.api.Service
|
||||
config_version: 3
|
||||
name: monitoring.googleapis.com
|
||||
title: Stackdriver Monitoring API
|
||||
|
||||
apis:
|
||||
- name: google.monitoring.dashboard.v1.DashboardsService
|
||||
- name: google.monitoring.v3.AlertPolicyService
|
||||
- name: google.monitoring.v3.GroupService
|
||||
- name: google.monitoring.v3.MetricService
|
||||
- name: google.monitoring.v3.NotificationChannelService
|
||||
- name: google.monitoring.v3.ServiceMonitoringService
|
||||
- name: google.monitoring.v3.UptimeCheckService
|
||||
|
||||
types:
|
||||
- name: google.monitoring.v3.DroppedLabels
|
||||
- name: google.monitoring.v3.SpanContext
|
||||
|
||||
documentation:
|
||||
summary: |-
|
||||
Manages your Stackdriver Monitoring data and configurations. Most projects
|
||||
must be associated with a Stackdriver account, with a few exceptions as
|
||||
noted on the individual method pages. The table entries below are
|
||||
presented in alphabetical order, not in order of common use. For
|
||||
explanations of the concepts found in the table entries, read the
|
||||
[Stackdriver Monitoring documentation](/monitoring/docs).
|
||||
|
||||
backend:
|
||||
rules:
|
||||
- selector: 'google.monitoring.v3.AlertPolicyService.*'
|
||||
deadline: 30.0
|
||||
- selector: 'google.monitoring.v3.GroupService.*'
|
||||
deadline: 30.0
|
||||
- selector: 'google.monitoring.v3.MetricService.*'
|
||||
deadline: 30.0
|
||||
- selector: google.monitoring.v3.MetricService.CreateTimeSeries
|
||||
deadline: 12.0
|
||||
- selector: 'google.monitoring.v3.NotificationChannelService.*'
|
||||
deadline: 30.0
|
||||
|
||||
authentication:
|
||||
rules:
|
||||
- selector: 'google.monitoring.dashboard.v1.DashboardsService.*'
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring,
|
||||
https://www.googleapis.com/auth/monitoring.write
|
||||
- selector: google.monitoring.dashboard.v1.DashboardsService.GetDashboard
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring,
|
||||
https://www.googleapis.com/auth/monitoring.read
|
||||
- selector: google.monitoring.dashboard.v1.DashboardsService.ListDashboards
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring,
|
||||
https://www.googleapis.com/auth/monitoring.read
|
||||
- selector: 'google.monitoring.v3.AlertPolicyService.*'
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring
|
||||
- selector: google.monitoring.v3.AlertPolicyService.GetAlertPolicy
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring,
|
||||
https://www.googleapis.com/auth/monitoring.read
|
||||
- selector: google.monitoring.v3.AlertPolicyService.ListAlertPolicies
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring,
|
||||
https://www.googleapis.com/auth/monitoring.read
|
||||
- selector: 'google.monitoring.v3.GroupService.*'
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring,
|
||||
https://www.googleapis.com/auth/monitoring.read
|
||||
- selector: google.monitoring.v3.GroupService.CreateGroup
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring
|
||||
- selector: google.monitoring.v3.GroupService.DeleteGroup
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring
|
||||
- selector: google.monitoring.v3.GroupService.UpdateGroup
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring
|
||||
- selector: 'google.monitoring.v3.MetricService.*'
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring,
|
||||
https://www.googleapis.com/auth/monitoring.read,
|
||||
https://www.googleapis.com/auth/monitoring.write
|
||||
- selector: google.monitoring.v3.MetricService.CreateMetricDescriptor
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring,
|
||||
https://www.googleapis.com/auth/monitoring.write
|
||||
- selector: google.monitoring.v3.MetricService.CreateTimeSeries
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring,
|
||||
https://www.googleapis.com/auth/monitoring.write
|
||||
- selector: google.monitoring.v3.MetricService.DeleteMetricDescriptor
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring
|
||||
- selector: google.monitoring.v3.MetricService.ListTimeSeries
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring,
|
||||
https://www.googleapis.com/auth/monitoring.read
|
||||
- selector: 'google.monitoring.v3.NotificationChannelService.*'
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring
|
||||
- selector: google.monitoring.v3.NotificationChannelService.GetNotificationChannel
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring,
|
||||
https://www.googleapis.com/auth/monitoring.read
|
||||
- selector: google.monitoring.v3.NotificationChannelService.GetNotificationChannelDescriptor
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring,
|
||||
https://www.googleapis.com/auth/monitoring.read
|
||||
- selector: google.monitoring.v3.NotificationChannelService.ListNotificationChannelDescriptors
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring,
|
||||
https://www.googleapis.com/auth/monitoring.read
|
||||
- selector: google.monitoring.v3.NotificationChannelService.ListNotificationChannels
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring,
|
||||
https://www.googleapis.com/auth/monitoring.read
|
||||
- selector: 'google.monitoring.v3.ServiceMonitoringService.*'
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring
|
||||
- selector: google.monitoring.v3.ServiceMonitoringService.GetService
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring,
|
||||
https://www.googleapis.com/auth/monitoring.read
|
||||
- selector: google.monitoring.v3.ServiceMonitoringService.GetServiceLevelObjective
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring,
|
||||
https://www.googleapis.com/auth/monitoring.read
|
||||
- selector: google.monitoring.v3.ServiceMonitoringService.ListServiceLevelObjectives
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring,
|
||||
https://www.googleapis.com/auth/monitoring.read
|
||||
- selector: google.monitoring.v3.ServiceMonitoringService.ListServices
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring,
|
||||
https://www.googleapis.com/auth/monitoring.read
|
||||
- selector: 'google.monitoring.v3.UptimeCheckService.*'
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring,
|
||||
https://www.googleapis.com/auth/monitoring.read
|
||||
- selector: google.monitoring.v3.UptimeCheckService.CreateUptimeCheckConfig
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring
|
||||
- selector: google.monitoring.v3.UptimeCheckService.DeleteUptimeCheckConfig
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring
|
||||
- selector: google.monitoring.v3.UptimeCheckService.UpdateUptimeCheckConfig
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/monitoring
|
||||
|
|
@ -0,0 +1,110 @@
|
|||
// Copyright 2019 Google LLC.
|
||||
//
|
||||
// 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.dashboard.v1;
|
||||
|
||||
import "google/monitoring/dashboard/v1/metrics.proto";
|
||||
import "google/protobuf/duration.proto";
|
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/monitoring/dashboard/v1;dashboard";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "ScorecardProto";
|
||||
option java_package = "com.google.monitoring.dashboard.v1";
|
||||
|
||||
// A widget showing the latest value of a metric, and how this value relates to
|
||||
// one or more thresholds.
|
||||
message Scorecard {
|
||||
// A gauge chart shows where the current value sits within a pre-defined
|
||||
// range. The upper and lower bounds should define the possible range of
|
||||
// values for the scorecard's query (inclusive).
|
||||
message GaugeView {
|
||||
// The lower bound for this gauge chart. The value of the chart should
|
||||
// always be greater than or equal to this.
|
||||
double lower_bound = 1;
|
||||
|
||||
// The upper bound for this gauge chart. The value of the chart should
|
||||
// always be less than or equal to this.
|
||||
double upper_bound = 2;
|
||||
}
|
||||
|
||||
// A sparkChart is a small chart suitable for inclusion in a table-cell or
|
||||
// inline in text. This message contains the configuration for a sparkChart
|
||||
// to show up on a Scorecard, showing recent trends of the scorecard's
|
||||
// timeseries.
|
||||
message SparkChartView {
|
||||
// The type of sparkchart to show in this chartView.
|
||||
SparkChartType spark_chart_type = 1;
|
||||
|
||||
// The lower bound on data point frequency in the chart implemented by
|
||||
// specifying the minimum alignment period to use in a time series query.
|
||||
// For example, if the data is published once every 10 minutes it would not
|
||||
// make sense to fetch and align data at one minute intervals. This field is
|
||||
// optional and exists only as a hint.
|
||||
google.protobuf.Duration min_alignment_period = 2;
|
||||
}
|
||||
|
||||
// Fields for querying time series data from the
|
||||
// Stackdriver metrics API.
|
||||
TimeSeriesQuery time_series_query = 1;
|
||||
|
||||
// Defines the optional additional chart shown on the scorecard. If
|
||||
// neither is included - then a default scorecard is shown.
|
||||
oneof data_view {
|
||||
// Will cause the scorecard to show a gauge chart.
|
||||
GaugeView gauge_view = 4;
|
||||
|
||||
// Will cause the scorecard to show a spark chart.
|
||||
SparkChartView spark_chart_view = 5;
|
||||
}
|
||||
|
||||
// The thresholds used to determine the state of the scorecard given the
|
||||
// time series' current value. For an actual value x, the scorecard is in a
|
||||
// danger state if x is less than or equal to a danger threshold that triggers
|
||||
// below, or greater than or equal to a danger threshold that triggers above.
|
||||
// Similarly, if x is above/below a warning threshold that triggers
|
||||
// above/below, then the scorecard is in a warning state - unless x also puts
|
||||
// it in a danger state. (Danger trumps warning.)
|
||||
//
|
||||
// As an example, consider a scorecard with the following four thresholds:
|
||||
// {
|
||||
// value: 90,
|
||||
// category: 'DANGER',
|
||||
// trigger: 'ABOVE',
|
||||
// },
|
||||
// {
|
||||
// value: 70,
|
||||
// category: 'WARNING',
|
||||
// trigger: 'ABOVE',
|
||||
// },
|
||||
// {
|
||||
// value: 10,
|
||||
// category: 'DANGER',
|
||||
// trigger: 'BELOW',
|
||||
// },
|
||||
// {
|
||||
// value: 20,
|
||||
// category: 'WARNING',
|
||||
// trigger: 'BELOW',
|
||||
// }
|
||||
//
|
||||
// Then: values less than or equal to 10 would put the scorecard in a DANGER
|
||||
// state, values greater than 10 but less than or equal to 20 a WARNING state,
|
||||
// values strictly between 20 and 70 an OK state, values greater than or equal
|
||||
// to 70 but less than 90 a WARNING state, and values greater than or equal to
|
||||
// 90 a DANGER state.
|
||||
repeated Threshold thresholds = 6;
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
// Copyright 2019 Google LLC.
|
||||
//
|
||||
// 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.dashboard.v1;
|
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/monitoring/dashboard/v1;dashboard";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "ServiceMonitoringProto";
|
||||
option java_package = "com.google.monitoring.dashboard.v1";
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
// Copyright 2019 Google LLC.
|
||||
//
|
||||
// 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.dashboard.v1;
|
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/monitoring/dashboard/v1;dashboard";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "TextProto";
|
||||
option java_package = "com.google.monitoring.dashboard.v1";
|
||||
|
||||
// A widget that displays textual content.
|
||||
message Text {
|
||||
// The format type of the text content.
|
||||
enum Format {
|
||||
// Format is unspecified. Defaults to MARKDOWN.
|
||||
FORMAT_UNSPECIFIED = 0;
|
||||
|
||||
// The text contains Markdown formatting.
|
||||
MARKDOWN = 1;
|
||||
|
||||
// The text contains no special formatting.
|
||||
RAW = 2;
|
||||
}
|
||||
|
||||
// The text content to be displayed.
|
||||
string content = 1;
|
||||
|
||||
// How the text content is formatted.
|
||||
Format format = 2;
|
||||
}
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
// Copyright 2019 Google LLC.
|
||||
//
|
||||
// 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.dashboard.v1;
|
||||
|
||||
import "google/api/field_behavior.proto";
|
||||
import "google/monitoring/dashboard/v1/scorecard.proto";
|
||||
import "google/monitoring/dashboard/v1/text.proto";
|
||||
import "google/monitoring/dashboard/v1/xychart.proto";
|
||||
import "google/protobuf/empty.proto";
|
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/monitoring/dashboard/v1;dashboard";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "WidgetProto";
|
||||
option java_package = "com.google.monitoring.dashboard.v1";
|
||||
|
||||
// Widget contains a single dashboard component and configuration of how to
|
||||
// present the component in the dashboard.
|
||||
message Widget {
|
||||
// Optional. The title of the widget.
|
||||
string title = 1 [(google.api.field_behavior) = OPTIONAL];
|
||||
|
||||
// Content defines the component used to populate the widget.
|
||||
oneof content {
|
||||
// A chart of time series data.
|
||||
XyChart xy_chart = 2;
|
||||
|
||||
// A scorecard summarizing time series data.
|
||||
Scorecard scorecard = 3;
|
||||
|
||||
// A raw string or markdown displaying textual content.
|
||||
Text text = 4;
|
||||
|
||||
// A blank space.
|
||||
google.protobuf.Empty blank = 5;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,146 @@
|
|||
// Copyright 2019 Google LLC.
|
||||
//
|
||||
// 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.dashboard.v1;
|
||||
|
||||
import "google/api/field_behavior.proto";
|
||||
import "google/monitoring/dashboard/v1/metrics.proto";
|
||||
import "google/protobuf/duration.proto";
|
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/monitoring/dashboard/v1;dashboard";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "XyChartProto";
|
||||
option java_package = "com.google.monitoring.dashboard.v1";
|
||||
|
||||
// A chart that displays data on a 2D (X and Y axes) plane.
|
||||
message XyChart {
|
||||
// Groups a time series query definition with charting options.
|
||||
message DataSet {
|
||||
// The types of plotting strategies for data sets.
|
||||
enum PlotType {
|
||||
// Plot type is unspecified. The view will default to `LINE`.
|
||||
PLOT_TYPE_UNSPECIFIED = 0;
|
||||
|
||||
// The data is plotted as a set of lines (one line per series).
|
||||
LINE = 1;
|
||||
|
||||
// The data is plotted as a set of filled areas (one area per series),
|
||||
// with the areas stacked vertically (the base of each area is the top of
|
||||
// its predecessor, and the base of the first area is the X axis). Since
|
||||
// the areas do not overlap, each is filled with a different opaque color.
|
||||
STACKED_AREA = 2;
|
||||
|
||||
// The data is plotted as a set of rectangular boxes (one box per series),
|
||||
// with the boxes stacked vertically (the base of each box is the top of
|
||||
// its predecessor, and the base of the first box is the X axis). Since
|
||||
// the boxes do not overlap, each is filled with a different opaque color.
|
||||
STACKED_BAR = 3;
|
||||
|
||||
// The data is plotted as a heatmap. The series being plotted must have a
|
||||
// `DISTRIBUTION` value type. The value of each bucket in the distribution
|
||||
// is displayed as a color. This type is not currently available in the
|
||||
// Stackdriver Monitoring application.
|
||||
HEATMAP = 4;
|
||||
}
|
||||
|
||||
// Fields for querying time series data from the
|
||||
// Stackdriver metrics API.
|
||||
TimeSeriesQuery time_series_query = 1;
|
||||
|
||||
// How this data should be plotted on the chart.
|
||||
PlotType plot_type = 2;
|
||||
|
||||
// A template string for naming `TimeSeries` in the resulting data set.
|
||||
// This should be a string with interpolations of the form ${label_name},
|
||||
// which will resolve to the label's value.
|
||||
string legend_template = 3;
|
||||
|
||||
// Optional. The lower bound on data point frequency for this data set, implemented by
|
||||
// specifying the minimum alignment period to use in a time series query
|
||||
// For example, if the data is published once every 10 minutes, the
|
||||
// `min_alignment_period` should be at least 10 minutes. It would not
|
||||
// make sense to fetch and align data at one minute intervals.
|
||||
google.protobuf.Duration min_alignment_period = 4 [(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// A chart axis.
|
||||
message Axis {
|
||||
// Types of scales used in axes.
|
||||
enum Scale {
|
||||
// Scale is unspecified. The view will default to `LINEAR`.
|
||||
SCALE_UNSPECIFIED = 0;
|
||||
|
||||
// Linear scale.
|
||||
LINEAR = 1;
|
||||
|
||||
// Logarithmic scale (base 10).
|
||||
LOG10 = 2;
|
||||
}
|
||||
|
||||
// The label of the axis.
|
||||
string label = 1;
|
||||
|
||||
// The axis scale. By default, a linear scale is used.
|
||||
Scale scale = 2;
|
||||
}
|
||||
|
||||
// The data displayed in this chart.
|
||||
repeated DataSet data_sets = 1;
|
||||
|
||||
// The duration used to display a comparison chart. A comparison chart
|
||||
// simultaneously shows values from two similar-length time periods
|
||||
// (e.g., week-over-week metrics).
|
||||
// The duration must be positive, and it can only be applied to charts with
|
||||
// data sets of LINE plot type.
|
||||
google.protobuf.Duration timeshift_duration = 4;
|
||||
|
||||
// Threshold lines drawn horizontally across the chart.
|
||||
repeated Threshold thresholds = 5;
|
||||
|
||||
// The properties applied to the X axis.
|
||||
Axis x_axis = 6;
|
||||
|
||||
// The properties applied to the Y axis.
|
||||
Axis y_axis = 7;
|
||||
|
||||
// Display options for the chart.
|
||||
ChartOptions chart_options = 8;
|
||||
}
|
||||
|
||||
// Options to control visual rendering of a chart.
|
||||
message ChartOptions {
|
||||
// Chart mode options.
|
||||
enum Mode {
|
||||
// Mode is unspecified. The view will default to `COLOR`.
|
||||
MODE_UNSPECIFIED = 0;
|
||||
|
||||
// The chart distinguishes data series using different color. Line
|
||||
// colors may get reused when there are many lines in the chart.
|
||||
COLOR = 1;
|
||||
|
||||
// The chart uses the Stackdriver x-ray mode, in which each
|
||||
// data set is plotted using the same semi-transparent color.
|
||||
X_RAY = 2;
|
||||
|
||||
// The chart displays statistics such as average, median, 95th percentile,
|
||||
// and more.
|
||||
STATS = 3;
|
||||
}
|
||||
|
||||
// The chart mode.
|
||||
Mode mode = 1;
|
||||
}
|
||||
|
|
@ -302,8 +302,8 @@ message AlertPolicy {
|
|||
// conditions.
|
||||
repeated Condition conditions = 12;
|
||||
|
||||
// How to combine the results of multiple conditions
|
||||
// to determine if an incident should be opened.
|
||||
// How to combine the results of multiple conditions to determine if an
|
||||
// incident should be opened.
|
||||
ConditionCombinerType combiner = 6;
|
||||
|
||||
// Whether or not the policy is enabled. On write, the default interpretation
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ message ServiceLevelObjective {
|
|||
ServiceLevelIndicator service_level_indicator = 3;
|
||||
|
||||
// The fraction of service that must be good in order for this objective to be
|
||||
// met. `0 < goal <= 1`.
|
||||
// met. `0 < goal <= 0.999`.
|
||||
double goal = 4;
|
||||
|
||||
// The time period over which the objective will be evaluated.
|
||||
|
|
|
|||
|
|
@ -83,27 +83,6 @@ message InternalChecker {
|
|||
State state = 7;
|
||||
}
|
||||
|
||||
// The regions from which an Uptime check can be run.
|
||||
enum UptimeCheckRegion {
|
||||
// Default value if no region is specified. Will result in Uptime checks
|
||||
// running from all regions.
|
||||
REGION_UNSPECIFIED = 0;
|
||||
|
||||
// Allows checks to run from locations within the United States of America.
|
||||
USA = 1;
|
||||
|
||||
// Allows checks to run from locations within the continent of Europe.
|
||||
EUROPE = 2;
|
||||
|
||||
// Allows checks to run from locations within the continent of South
|
||||
// America.
|
||||
SOUTH_AMERICA = 3;
|
||||
|
||||
// Allows checks to run from locations within the Asia Pacific area (ex:
|
||||
// Singapore).
|
||||
ASIA_PACIFIC = 4;
|
||||
}
|
||||
|
||||
// This message configures which resources and services to monitor for
|
||||
// availability.
|
||||
message UptimeCheckConfig {
|
||||
|
|
@ -304,6 +283,27 @@ message UptimeCheckConfig {
|
|||
repeated InternalChecker internal_checkers = 14 [deprecated = true];
|
||||
}
|
||||
|
||||
// The regions from which an Uptime check can be run.
|
||||
enum UptimeCheckRegion {
|
||||
// Default value if no region is specified. Will result in Uptime checks
|
||||
// running from all regions.
|
||||
REGION_UNSPECIFIED = 0;
|
||||
|
||||
// Allows checks to run from locations within the United States of America.
|
||||
USA = 1;
|
||||
|
||||
// Allows checks to run from locations within the continent of Europe.
|
||||
EUROPE = 2;
|
||||
|
||||
// Allows checks to run from locations within the continent of South
|
||||
// America.
|
||||
SOUTH_AMERICA = 3;
|
||||
|
||||
// Allows checks to run from locations within the Asia Pacific area (ex:
|
||||
// Singapore).
|
||||
ASIA_PACIFIC = 4;
|
||||
}
|
||||
|
||||
// Contains the region, location, and list of IP
|
||||
// addresses where checkers in the location run from.
|
||||
message UptimeCheckIp {
|
||||
|
|
|
|||
Loading…
Reference in New Issue