| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- // 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";
- option go_package = "google.golang.org/genproto/googleapis/logging/v2";
- // Service for configuring logs-based metrics.
- 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;
- }
|