Built motion from commit 6a09e18b.|2.6.11
[motion2.git] / legacy-libs / google-proto-files / google / devtools / clouderrorreporting / v1beta1 / error_stats_service.proto
diff --git a/legacy-libs/google-proto-files/google/devtools/clouderrorreporting/v1beta1/error_stats_service.proto b/legacy-libs/google-proto-files/google/devtools/clouderrorreporting/v1beta1/error_stats_service.proto
new file mode 100644 (file)
index 0000000..ffb25b2
--- /dev/null
@@ -0,0 +1,345 @@
+// 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.devtools.clouderrorreporting.v1beta1;
+
+import "google/api/annotations.proto";
+import "google/devtools/clouderrorreporting/v1beta1/common.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.ErrorReporting.V1Beta1";
+option go_package = "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1;clouderrorreporting";
+option java_multiple_files = true;
+option java_outer_classname = "ErrorStatsServiceProto";
+option java_package = "com.google.devtools.clouderrorreporting.v1beta1";
+option php_namespace = "Google\\Cloud\\ErrorReporting\\V1beta1";
+
+// An API for retrieving and managing error statistics as well as data for
+// individual events.
+service ErrorStatsService {
+  // Lists the specified groups.
+  rpc ListGroupStats(ListGroupStatsRequest) returns (ListGroupStatsResponse) {
+    option (google.api.http) = {
+      get: "/v1beta1/{project_name=projects/*}/groupStats"
+    };
+  }
+
+  // Lists the specified events.
+  rpc ListEvents(ListEventsRequest) returns (ListEventsResponse) {
+    option (google.api.http) = {
+      get: "/v1beta1/{project_name=projects/*}/events"
+    };
+  }
+
+  // Deletes all error events of a given project.
+  rpc DeleteEvents(DeleteEventsRequest) returns (DeleteEventsResponse) {
+    option (google.api.http) = {
+      delete: "/v1beta1/{project_name=projects/*}/events"
+    };
+  }
+}
+
+// Specifies a set of `ErrorGroupStats` to return.
+message ListGroupStatsRequest {
+  // [Required] The resource name of the Google Cloud Platform project. Written
+  // as <code>projects/</code> plus the
+  // <a href="https://support.google.com/cloud/answer/6158840">Google Cloud
+  // Platform project ID</a>.
+  //
+  // Example: <code>projects/my-project-123</code>.
+  string project_name = 1;
+
+  // [Optional] List all <code>ErrorGroupStats</code> with these IDs.
+  repeated string group_id = 2;
+
+  // [Optional] List only <code>ErrorGroupStats</code> which belong to a service
+  // context that matches the filter.
+  // Data for all service contexts is returned if this field is not specified.
+  ServiceContextFilter service_filter = 3;
+
+  // [Optional] List data for the given time range.
+  // If not set a default time range is used. The field time_range_begin
+  // in the response will specify the beginning of this time range.
+  // Only <code>ErrorGroupStats</code> with a non-zero count in the given time
+  // range are returned, unless the request contains an explicit group_id list.
+  // If a group_id list is given, also <code>ErrorGroupStats</code> with zero
+  // occurrences are returned.
+  QueryTimeRange time_range = 5;
+
+  // [Optional] The preferred duration for a single returned `TimedCount`.
+  // If not set, no timed counts are returned.
+  google.protobuf.Duration timed_count_duration = 6;
+
+  // [Optional] The alignment of the timed counts to be returned.
+  // Default is `ALIGNMENT_EQUAL_AT_END`.
+  TimedCountAlignment alignment = 7;
+
+  // [Optional] Time where the timed counts shall be aligned if rounded
+  // alignment is chosen. Default is 00:00 UTC.
+  google.protobuf.Timestamp alignment_time = 8;
+
+  // [Optional] The sort order in which the results are returned.
+  // Default is `COUNT_DESC`.
+  ErrorGroupOrder order = 9;
+
+  // [Optional] The maximum number of results to return per response.
+  // Default is 20.
+  int32 page_size = 11;
+
+  // [Optional] A `next_page_token` provided by a previous response. To view
+  // additional results, pass this token along with the identical query
+  // parameters as the first request.
+  string page_token = 12;
+}
+
+// Contains a set of requested error group stats.
+message ListGroupStatsResponse {
+  // The error group stats which match the given request.
+  repeated ErrorGroupStats error_group_stats = 1;
+
+  // If non-empty, more results are available.
+  // Pass this token, along with the same query parameters as the first
+  // request, to view the next page of results.
+  string next_page_token = 2;
+
+  // The timestamp specifies the start time to which the request was restricted.
+  // The start time is set based on the requested time range. It may be adjusted
+  // to a later time if a project has exceeded the storage quota and older data
+  // has been deleted.
+  google.protobuf.Timestamp time_range_begin = 4;
+}
+
+// Data extracted for a specific group based on certain filter criteria,
+// such as a given time period and/or service filter.
+message ErrorGroupStats {
+  // Group data that is independent of the filter criteria.
+  ErrorGroup group = 1;
+
+  // Approximate total number of events in the given group that match
+  // the filter criteria.
+  int64 count = 2;
+
+  // Approximate number of affected users in the given group that
+  // match the filter criteria.
+  // Users are distinguished by data in the `ErrorContext` of the
+  // individual error events, such as their login name or their remote
+  // IP address in case of HTTP requests.
+  // The number of affected users can be zero even if the number of
+  // errors is non-zero if no data was provided from which the
+  // affected user could be deduced.
+  // Users are counted based on data in the request
+  // context that was provided in the error report. If more users are
+  // implicitly affected, such as due to a crash of the whole service,
+  // this is not reflected here.
+  int64 affected_users_count = 3;
+
+  // Approximate number of occurrences over time.
+  // Timed counts returned by ListGroups are guaranteed to be:
+  //
+  // - Inside the requested time interval
+  // - Non-overlapping, and
+  // - Ordered by ascending time.
+  repeated TimedCount timed_counts = 4;
+
+  // Approximate first occurrence that was ever seen for this group
+  // and which matches the given filter criteria, ignoring the
+  // time_range that was specified in the request.
+  google.protobuf.Timestamp first_seen_time = 5;
+
+  // Approximate last occurrence that was ever seen for this group and
+  // which matches the given filter criteria, ignoring the time_range
+  // that was specified in the request.
+  google.protobuf.Timestamp last_seen_time = 6;
+
+  // Service contexts with a non-zero error count for the given filter
+  // criteria. This list can be truncated if multiple services are affected.
+  // Refer to `num_affected_services` for the total count.
+  repeated ServiceContext affected_services = 7;
+
+  // The total number of services with a non-zero error count for the given
+  // filter criteria.
+  int32 num_affected_services = 8;
+
+  // An arbitrary event that is chosen as representative for the whole group.
+  // The representative event is intended to be used as a quick preview for
+  // the whole group. Events in the group are usually sufficiently similar
+  // to each other such that showing an arbitrary representative provides
+  // insight into the characteristics of the group as a whole.
+  ErrorEvent representative = 9;
+}
+
+// The number of errors in a given time period.
+// All numbers are approximate since the error events are sampled
+// before counting them.
+message TimedCount {
+  // Approximate number of occurrences in the given time period.
+  int64 count = 1;
+
+  // Start of the time period to which `count` refers (included).
+  google.protobuf.Timestamp start_time = 2;
+
+  // End of the time period to which `count` refers (excluded).
+  google.protobuf.Timestamp end_time = 3;
+}
+
+// Specifies a set of error events to return.
+message ListEventsRequest {
+  // [Required] The resource name of the Google Cloud Platform project. Written
+  // as `projects/` plus the
+  // [Google Cloud Platform project
+  // ID](https://support.google.com/cloud/answer/6158840).
+  // Example: `projects/my-project-123`.
+  string project_name = 1;
+
+  // [Required] The group for which events shall be returned.
+  string group_id = 2;
+
+  // [Optional] List only ErrorGroups which belong to a service context that
+  // matches the filter.
+  // Data for all service contexts is returned if this field is not specified.
+  ServiceContextFilter service_filter = 3;
+
+  // [Optional] List only data for the given time range.
+  // If not set a default time range is used. The field time_range_begin
+  // in the response will specify the beginning of this time range.
+  QueryTimeRange time_range = 4;
+
+  // [Optional] The maximum number of results to return per response.
+  int32 page_size = 6;
+
+  // [Optional] A `next_page_token` provided by a previous response.
+  string page_token = 7;
+}
+
+// Contains a set of requested error events.
+message ListEventsResponse {
+  // The error events which match the given request.
+  repeated ErrorEvent error_events = 1;
+
+  // If non-empty, more results are available.
+  // Pass this token, along with the same query parameters as the first
+  // request, to view the next page of results.
+  string next_page_token = 2;
+
+  // The timestamp specifies the start time to which the request was restricted.
+  google.protobuf.Timestamp time_range_begin = 4;
+}
+
+// Requests might be rejected or the resulting timed count durations might be
+// adjusted for lower durations.
+message QueryTimeRange {
+  // The supported time ranges.
+  enum Period {
+    // Do not use.
+    PERIOD_UNSPECIFIED = 0;
+
+    // Retrieve data for the last hour.
+    // Recommended minimum timed count duration: 1 min.
+    PERIOD_1_HOUR = 1;
+
+    // Retrieve data for the last 6 hours.
+    // Recommended minimum timed count duration: 10 min.
+    PERIOD_6_HOURS = 2;
+
+    // Retrieve data for the last day.
+    // Recommended minimum timed count duration: 1 hour.
+    PERIOD_1_DAY = 3;
+
+    // Retrieve data for the last week.
+    // Recommended minimum timed count duration: 6 hours.
+    PERIOD_1_WEEK = 4;
+
+    // Retrieve data for the last 30 days.
+    // Recommended minimum timed count duration: 1 day.
+    PERIOD_30_DAYS = 5;
+  }
+
+  // Restricts the query to the specified time range.
+  Period period = 1;
+}
+
+// Specifies criteria for filtering a subset of service contexts.
+// The fields in the filter correspond to the fields in `ServiceContext`.
+// Only exact, case-sensitive matches are supported.
+// If a field is unset or empty, it matches arbitrary values.
+message ServiceContextFilter {
+  // [Optional] The exact value to match against
+  // [`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).
+  string service = 2;
+
+  // [Optional] The exact value to match against
+  // [`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).
+  string version = 3;
+
+  // [Optional] The exact value to match against
+  // [`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type).
+  string resource_type = 4;
+}
+
+// Deletes all events in the project.
+message DeleteEventsRequest {
+  // [Required] The resource name of the Google Cloud Platform project. Written
+  // as `projects/` plus the
+  // [Google Cloud Platform project
+  // ID](https://support.google.com/cloud/answer/6158840).
+  // Example: `projects/my-project-123`.
+  string project_name = 1;
+}
+
+// Response message for deleting error events.
+message DeleteEventsResponse {}
+
+// Specifies how the time periods of error group counts are aligned.
+enum TimedCountAlignment {
+  // No alignment specified.
+  ERROR_COUNT_ALIGNMENT_UNSPECIFIED = 0;
+
+  // The time periods shall be consecutive, have width equal to the
+  // requested duration, and be aligned at the `alignment_time` provided in
+  // the request.
+  // The `alignment_time` does not have to be inside the query period but
+  // even if it is outside, only time periods are returned which overlap
+  // with the query period.
+  // A rounded alignment will typically result in a
+  // different size of the first or the last time period.
+  ALIGNMENT_EQUAL_ROUNDED = 1;
+
+  // The time periods shall be consecutive, have width equal to the
+  // requested duration, and be aligned at the end of the requested time
+  // period. This can result in a different size of the
+  // first time period.
+  ALIGNMENT_EQUAL_AT_END = 2;
+}
+
+// A sorting order of error groups.
+enum ErrorGroupOrder {
+  // No group order specified.
+  GROUP_ORDER_UNSPECIFIED = 0;
+
+  // Total count of errors in the given time window in descending order.
+  COUNT_DESC = 1;
+
+  // Timestamp when the group was last seen in the given time window
+  // in descending order.
+  LAST_SEEN_DESC = 2;
+
+  // Timestamp when the group was created in descending order.
+  CREATED_DESC = 3;
+
+  // Number of affected users in the given time window in descending order.
+  AFFECTED_USERS_DESC = 4;
+}