diff options
| author | n1c00o <git.n1c00o@gmail.com> | 2022-10-12 18:05:45 +0200 | 
|---|---|---|
| committer | n1c00o <git.n1c00o@gmail.com> | 2022-10-12 18:05:45 +0200 | 
| commit | 9bcf3fedd50bd6c8dfef1673482d9b61fab49cd0 (patch) | |
| tree | 45f3b754ece09b90bde859bc6e7eae4d3c31a848 /third_party/googleapis/google/logging/v2/logging_metrics.proto | |
| parent | 2e1a2ee3d6c12d8367cbbe005fe7dcf8d253d9ac (diff) | |
Revendor correctly googleapis
Diffstat (limited to 'third_party/googleapis/google/logging/v2/logging_metrics.proto')
| -rw-r--r-- | third_party/googleapis/google/logging/v2/logging_metrics.proto | 322 | 
1 files changed, 322 insertions, 0 deletions
diff --git a/third_party/googleapis/google/logging/v2/logging_metrics.proto b/third_party/googleapis/google/logging/v2/logging_metrics.proto new file mode 100644 index 0000000..9bbbc42 --- /dev/null +++ b/third_party/googleapis/google/logging/v2/logging_metrics.proto @@ -0,0 +1,322 @@ +// Copyright 2022 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.logging.v2; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/distribution.proto"; +import "google/api/field_behavior.proto"; +import "google/api/metric.proto"; +import "google/api/resource.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/timestamp.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Logging.V2"; +option go_package = "google.golang.org/genproto/googleapis/logging/v2;logging"; +option java_multiple_files = true; +option java_outer_classname = "LoggingMetricsProto"; +option java_package = "com.google.logging.v2"; +option php_namespace = "Google\\Cloud\\Logging\\V2"; +option ruby_package = "Google::Cloud::Logging::V2"; + +// Service for configuring logs-based metrics. +service MetricsServiceV2 { +  option (google.api.default_host) = "logging.googleapis.com"; +  option (google.api.oauth_scopes) = +      "https://www.googleapis.com/auth/cloud-platform," +      "https://www.googleapis.com/auth/cloud-platform.read-only," +      "https://www.googleapis.com/auth/logging.admin," +      "https://www.googleapis.com/auth/logging.read," +      "https://www.googleapis.com/auth/logging.write"; + +  // Lists logs-based metrics. +  rpc ListLogMetrics(ListLogMetricsRequest) returns (ListLogMetricsResponse) { +    option (google.api.http) = { +      get: "/v2/{parent=projects/*}/metrics" +    }; +    option (google.api.method_signature) = "parent"; +  } + +  // Gets a logs-based metric. +  rpc GetLogMetric(GetLogMetricRequest) returns (LogMetric) { +    option (google.api.http) = { +      get: "/v2/{metric_name=projects/*/metrics/*}" +    }; +    option (google.api.method_signature) = "metric_name"; +  } + +  // Creates a logs-based metric. +  rpc CreateLogMetric(CreateLogMetricRequest) returns (LogMetric) { +    option (google.api.http) = { +      post: "/v2/{parent=projects/*}/metrics" +      body: "metric" +    }; +    option (google.api.method_signature) = "parent,metric"; +  } + +  // Creates or updates a logs-based metric. +  rpc UpdateLogMetric(UpdateLogMetricRequest) returns (LogMetric) { +    option (google.api.http) = { +      put: "/v2/{metric_name=projects/*/metrics/*}" +      body: "metric" +    }; +    option (google.api.method_signature) = "metric_name,metric"; +  } + +  // Deletes a logs-based metric. +  rpc DeleteLogMetric(DeleteLogMetricRequest) returns (google.protobuf.Empty) { +    option (google.api.http) = { +      delete: "/v2/{metric_name=projects/*/metrics/*}" +    }; +    option (google.api.method_signature) = "metric_name"; +  } +} + +// Describes a logs-based metric. The value of the metric is the number of log +// entries that match a logs filter in a given time interval. +// +// Logs-based metrics can also be used to extract values from logs and create a +// distribution of the values. The distribution records the statistics of the +// extracted values along with an optional histogram of the values as specified +// by the bucket options. +message LogMetric { +  option (google.api.resource) = { +    type: "logging.googleapis.com/LogMetric" +    pattern: "projects/{project}/metrics/{metric}" +  }; + +  // Logging API version. +  enum ApiVersion { +    // Logging API v2. +    V2 = 0; + +    // Logging API v1. +    V1 = 1; +  } + +  // Required. The client-assigned metric identifier. +  // Examples: `"error_count"`, `"nginx/requests"`. +  // +  // Metric identifiers are limited to 100 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. +  // +  // This field is the `[METRIC_ID]` part of a metric resource name in the +  // format "projects/[PROJECT_ID]/metrics/[METRIC_ID]". Example: If the +  // resource name of a metric is +  // `"projects/my-project/metrics/nginx%2Frequests"`, this field's value is +  // `"nginx/requests"`. +  string name = 1 [(google.api.field_behavior) = REQUIRED]; + +  // Optional. A description of this metric, which is used in documentation. +  // The maximum length of the description is 8000 characters. +  string description = 2 [(google.api.field_behavior) = OPTIONAL]; + +  // Required. An [advanced logs +  // filter](https://cloud.google.com/logging/docs/view/advanced_filters) which +  // is used to match log entries. Example: +  // +  //     "resource.type=gae_app AND severity>=ERROR" +  // +  // The maximum length of the filter is 20000 characters. +  string filter = 3 [(google.api.field_behavior) = REQUIRED]; + +  // Optional. If set to True, then this metric is disabled and it does not +  // generate any points. +  bool disabled = 12 [(google.api.field_behavior) = OPTIONAL]; + +  // Optional. The metric descriptor associated with the logs-based metric. +  // If unspecified, it uses a default metric descriptor with a DELTA metric +  // kind, INT64 value type, with no labels and a unit of "1". Such a metric +  // counts the number of log entries matching the `filter` expression. +  // +  // The `name`, `type`, and `description` fields in the `metric_descriptor` +  // are output only, and is constructed using the `name` and `description` +  // field in the LogMetric. +  // +  // To create a logs-based metric that records a distribution of log values, a +  // DELTA metric kind with a DISTRIBUTION value type must be used along with +  // a `value_extractor` expression in the LogMetric. +  // +  // Each label in the metric descriptor must have a matching label +  // name as the key and an extractor expression as the value in the +  // `label_extractors` map. +  // +  // The `metric_kind` and `value_type` fields in the `metric_descriptor` cannot +  // be updated once initially configured. New labels can be added in the +  // `metric_descriptor`, but existing labels cannot be modified except for +  // their description. +  google.api.MetricDescriptor metric_descriptor = 5 [(google.api.field_behavior) = OPTIONAL]; + +  // Optional. A `value_extractor` is required when using a distribution +  // logs-based metric to extract the values to record from a log entry. +  // Two functions are supported for value extraction: `EXTRACT(field)` or +  // `REGEXP_EXTRACT(field, regex)`. The argument are: +  //   1. field: The name of the log entry field from which the value is to be +  //      extracted. +  //   2. regex: A regular expression using the Google RE2 syntax +  //      (https://github.com/google/re2/wiki/Syntax) with a single capture +  //      group to extract data from the specified log entry field. The value +  //      of the field is converted to a string before applying the regex. +  //      It is an error to specify a regex that does not include exactly one +  //      capture group. +  // +  // The result of the extraction must be convertible to a double type, as the +  // distribution always records double values. If either the extraction or +  // the conversion to double fails, then those values are not recorded in the +  // distribution. +  // +  // Example: `REGEXP_EXTRACT(jsonPayload.request, ".*quantity=(\d+).*")` +  string value_extractor = 6 [(google.api.field_behavior) = OPTIONAL]; + +  // Optional. A map from a label key string to an extractor expression which is +  // used to extract data from a log entry field and assign as the label value. +  // Each label key specified in the LabelDescriptor must have an associated +  // extractor expression in this map. The syntax of the extractor expression +  // is the same as for the `value_extractor` field. +  // +  // The extracted value is converted to the type defined in the label +  // descriptor. If the either the extraction or the type conversion fails, +  // the label will have a default value. The default value for a string +  // label is an empty string, for an integer label its 0, and for a boolean +  // label its `false`. +  // +  // Note that there are upper bounds on the maximum number of labels and the +  // number of active time series that are allowed in a project. +  map<string, string> label_extractors = 7 [(google.api.field_behavior) = OPTIONAL]; + +  // Optional. The `bucket_options` are required when the logs-based metric is +  // using a DISTRIBUTION value type and it describes the bucket boundaries +  // used to create a histogram of the extracted values. +  google.api.Distribution.BucketOptions bucket_options = 8 [(google.api.field_behavior) = OPTIONAL]; + +  // Output only. The creation timestamp of the metric. +  // +  // This field may not be present for older metrics. +  google.protobuf.Timestamp create_time = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; + +  // Output only. The last update timestamp of the metric. +  // +  // This field may not be present for older metrics. +  google.protobuf.Timestamp update_time = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; + +  // Deprecated. The API version that created or updated this metric. +  // The v2 format is used by default and cannot be changed. +  ApiVersion version = 4 [deprecated = true]; +} + +// The parameters to ListLogMetrics. +message ListLogMetricsRequest { +  // Required. The name of the project containing the metrics: +  // +  //     "projects/[PROJECT_ID]" +  string parent = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "cloudresourcemanager.googleapis.com/Project" +    } +  ]; + +  // Optional. If present, then retrieve the next batch of results from the +  // preceding call to this method. `pageToken` must be the value of +  // `nextPageToken` from the previous response. The values of other method +  // parameters should be identical to those in the previous call. +  string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; + +  // Optional. The maximum number of results to return from this request. +  // Non-positive values are ignored. The presence of `nextPageToken` in the +  // response indicates that more results might be available. +  int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Result returned from ListLogMetrics. +message ListLogMetricsResponse { +  // A list of logs-based metrics. +  repeated LogMetric metrics = 1; + +  // If there might be more results than appear in this response, then +  // `nextPageToken` is included. 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 { +  // Required. The resource name of the desired metric: +  // +  //     "projects/[PROJECT_ID]/metrics/[METRIC_ID]" +  string metric_name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "logging.googleapis.com/LogMetric" +    } +  ]; +} + +// The parameters to CreateLogMetric. +message CreateLogMetricRequest { +  // Required. The resource name of the project in which to create the metric: +  // +  //     "projects/[PROJECT_ID]" +  // +  // The new metric must be provided in the request. +  string parent = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      child_type: "logging.googleapis.com/LogMetric" +    } +  ]; + +  // Required. The new logs-based metric, which must not have an identifier that +  // already exists. +  LogMetric metric = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The parameters to UpdateLogMetric. +message UpdateLogMetricRequest { +  // Required. The resource name of the metric to update: +  // +  //     "projects/[PROJECT_ID]/metrics/[METRIC_ID]" +  // +  // The updated metric must be provided in the request and it's +  // `name` field must be the same as `[METRIC_ID]` If the metric +  // does not exist in `[PROJECT_ID]`, then a new metric is created. +  string metric_name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "logging.googleapis.com/LogMetric" +    } +  ]; + +  // Required. The updated metric. +  LogMetric metric = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The parameters to DeleteLogMetric. +message DeleteLogMetricRequest { +  // Required. The resource name of the metric to delete: +  // +  //     "projects/[PROJECT_ID]/metrics/[METRIC_ID]" +  string metric_name = 1 [ +    (google.api.field_behavior) = REQUIRED, +    (google.api.resource_reference) = { +      type: "logging.googleapis.com/LogMetric" +    } +  ]; +}  | 
