|
|
|
// 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.logging.v2;
|
|
|
|
|
|
|
|
import "google/api/annotations.proto";
|
|
|
|
import "google/protobuf/empty.proto";
|
|
|
|
|
|
|
|
option java_multiple_files = true;
|
|
|
|
option java_package = "com.google.logging.v2";
|
|
|
|
|
|
|
|
|
|
|
|
service MetricsServiceV2 {
|
|
|
|
// Lists logs-based metrics.
|
|
|
|
rpc ListLogMetrics(ListLogMetricsRequest) returns (ListLogMetricsResponse) {
|
|
|
|
option (google.api.http) = { get: "/v2beta1/{parent=projects/*}/metrics" };
|
|
|
|
}
|
|
|
|
|
|
|
|
// Gets a logs-based metric.
|
|
|
|
rpc GetLogMetric(GetLogMetricRequest) returns (LogMetric) {
|
|
|
|
option (google.api.http) = { get: "/v2beta1/{metric_name=projects/*/metrics/*}" };
|
|
|
|
}
|
|
|
|
|
|
|
|
// Creates a logs-based metric.
|
|
|
|
rpc CreateLogMetric(CreateLogMetricRequest) returns (LogMetric) {
|
|
|
|
option (google.api.http) = { post: "/v2beta1/{parent=projects/*}/metrics" body: "metric" };
|
|
|
|
}
|
|
|
|
|
|
|
|
// Creates or updates a logs-based metric.
|
|
|
|
rpc UpdateLogMetric(UpdateLogMetricRequest) returns (LogMetric) {
|
|
|
|
option (google.api.http) = { put: "/v2beta1/{metric_name=projects/*/metrics/*}" body: "metric" };
|
|
|
|
}
|
|
|
|
|
|
|
|
// Deletes a logs-based metric.
|
|
|
|
rpc DeleteLogMetric(DeleteLogMetricRequest) returns (google.protobuf.Empty) {
|
|
|
|
option (google.api.http) = { delete: "/v2beta1/{metric_name=projects/*/metrics/*}" };
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Describes a logs-based metric. The value of the metric is the
|
|
|
|
// number of log entries that match a logs filter.
|
|
|
|
message LogMetric {
|
|
|
|
// Required. The client-assigned metric identifier. Example:
|
|
|
|
// `"severe_errors"`. Metric identifiers are limited to 1000
|
|
|
|
// characters and can include only the following characters: `A-Z`,
|
|
|
|
// `a-z`, `0-9`, and the special characters `_-.,+!*',()%/\`. The
|
|
|
|
// forward-slash character (`/`) denotes a hierarchy of name pieces,
|
|
|
|
// and it cannot be the first character of the name.
|
|
|
|
string name = 1;
|
|
|
|
|
|
|
|
// A description of this metric, which is used in documentation.
|
|
|
|
string description = 2;
|
|
|
|
|
|
|
|
// An [advanced logs filter](/logging/docs/view/advanced_filters).
|
|
|
|
// Example: `"logName:syslog AND severity>=ERROR"`.
|
|
|
|
string filter = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
// The parameters to ListLogMetrics.
|
|
|
|
message ListLogMetricsRequest {
|
|
|
|
// Required. The resource name containing the metrics.
|
|
|
|
// Example: `"projects/my-project-id"`.
|
|
|
|
string parent = 1;
|
|
|
|
|
|
|
|
// Optional. If the `pageToken` parameter is supplied, then the next page of
|
|
|
|
// results is retrieved. The `pageToken` parameter must be set to the value
|
|
|
|
// of the `nextPageToken` from the previous response.
|
|
|
|
// The value of `parent` must be the same as in the previous request.
|
|
|
|
string page_token = 2;
|
|
|
|
|
|
|
|
// Optional. The maximum number of results to return from this request.
|
|
|
|
// You must check for presence of `nextPageToken` to determine if additional
|
|
|
|
// results are available, which you can retrieve by passing the
|
|
|
|
// `nextPageToken` value as the `pageToken` parameter in the next request.
|
|
|
|
int32 page_size = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Result returned from ListLogMetrics.
|
|
|
|
message ListLogMetricsResponse {
|
|
|
|
// A list of logs-based metrics.
|
|
|
|
repeated LogMetric metrics = 1;
|
|
|
|
|
|
|
|
// If there are more results than were returned, then `nextPageToken` is
|
|
|
|
// included in the response. To get the next set of results, call this
|
|
|
|
// method again using the value of `nextPageToken` as `pageToken`.
|
|
|
|
string next_page_token = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
// The parameters to GetLogMetric.
|
|
|
|
message GetLogMetricRequest {
|
|
|
|
// The resource name of the desired metric.
|
|
|
|
// Example: `"projects/my-project-id/metrics/my-metric-id"`.
|
|
|
|
string metric_name = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
// The parameters to CreateLogMetric.
|
|
|
|
message CreateLogMetricRequest {
|
|
|
|
// The resource name of the project in which to create the metric.
|
|
|
|
// Example: `"projects/my-project-id"`.
|
|
|
|
//
|
|
|
|
// The new metric must be provided in the request.
|
|
|
|
string parent = 1;
|
|
|
|
|
|
|
|
// The new logs-based metric, which must not have an identifier that
|
|
|
|
// already exists.
|
|
|
|
LogMetric metric = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
// The parameters to UpdateLogMetric.
|
|
|
|
//
|
|
|
|
message UpdateLogMetricRequest {
|
|
|
|
// The resource name of the metric to update.
|
|
|
|
// Example: `"projects/my-project-id/metrics/my-metric-id"`.
|
|
|
|
//
|
|
|
|
// The updated metric must be provided in the request and have the
|
|
|
|
// same identifier that is specified in `metricName`.
|
|
|
|
// If the metric does not exist, it is created.
|
|
|
|
string metric_name = 1;
|
|
|
|
|
|
|
|
// The updated metric, whose name must be the same as the
|
|
|
|
// metric identifier in `metricName`. If `metricName` does not
|
|
|
|
// exist, then a new metric is created.
|
|
|
|
LogMetric metric = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
// The parameters to DeleteLogMetric.
|
|
|
|
message DeleteLogMetricRequest {
|
|
|
|
// The resource name of the metric to delete.
|
|
|
|
// Example: `"projects/my-project-id/metrics/my-metric-id"`.
|
|
|
|
string metric_name = 1;
|
|
|
|
}
|