# Copyright 2020 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 # # https://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. module Google module Devtools module Clouderrorreporting module V1beta1 # Specifies a set of `ErrorGroupStats` to return. # @!attribute [rw] project_name # @return [String] # Required. The resource name of the Google Cloud Platform project. Written # as projects/ plus the # Google Cloud # Platform project ID. # # Example: projects/my-project-123. # @!attribute [rw] group_id # @return [Array] # Optional. List all ErrorGroupStats with these IDs. # @!attribute [rw] service_filter # @return [Google::Devtools::Clouderrorreporting::V1beta1::ServiceContextFilter] # Optional. List only ErrorGroupStats which belong to a service # context that matches the filter. # Data for all service contexts is returned if this field is not specified. # @!attribute [rw] time_range # @return [Google::Devtools::Clouderrorreporting::V1beta1::QueryTimeRange] # 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 ErrorGroupStats 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 # ErrorGroupStats with zero occurrences are returned. # @!attribute [rw] timed_count_duration # @return [Google::Protobuf::Duration] # Optional. The preferred duration for a single returned `TimedCount`. # If not set, no timed counts are returned. # @!attribute [rw] alignment # @return [Google::Devtools::Clouderrorreporting::V1beta1::TimedCountAlignment] # Optional. The alignment of the timed counts to be returned. # Default is `ALIGNMENT_EQUAL_AT_END`. # @!attribute [rw] alignment_time # @return [Google::Protobuf::Timestamp] # Optional. Time where the timed counts shall be aligned if rounded # alignment is chosen. Default is 00:00 UTC. # @!attribute [rw] order # @return [Google::Devtools::Clouderrorreporting::V1beta1::ErrorGroupOrder] # Optional. The sort order in which the results are returned. # Default is `COUNT_DESC`. # @!attribute [rw] page_size # @return [Integer] # Optional. The maximum number of results to return per response. # Default is 20. # @!attribute [rw] page_token # @return [String] # 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. class ListGroupStatsRequest; end # Contains a set of requested error group stats. # @!attribute [rw] error_group_stats # @return [Array] # The error group stats which match the given request. # @!attribute [rw] next_page_token # @return [String] # 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. # @!attribute [rw] time_range_begin # @return [Google::Protobuf::Timestamp] # 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. class ListGroupStatsResponse; end # Data extracted for a specific group based on certain filter criteria, # such as a given time period and/or service filter. # @!attribute [rw] group # @return [Google::Devtools::Clouderrorreporting::V1beta1::ErrorGroup] # Group data that is independent of the filter criteria. # @!attribute [rw] count # @return [Integer] # Approximate total number of events in the given group that match # the filter criteria. # @!attribute [rw] affected_users_count # @return [Integer] # 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. # @!attribute [rw] timed_counts # @return [Array] # 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. # @!attribute [rw] first_seen_time # @return [Google::Protobuf::Timestamp] # 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. # @!attribute [rw] last_seen_time # @return [Google::Protobuf::Timestamp] # 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. # @!attribute [rw] affected_services # @return [Array] # 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. # @!attribute [rw] num_affected_services # @return [Integer] # The total number of services with a non-zero error count for the given # filter criteria. # @!attribute [rw] representative # @return [Google::Devtools::Clouderrorreporting::V1beta1::ErrorEvent] # 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. class ErrorGroupStats; end # The number of errors in a given time period. # All numbers are approximate since the error events are sampled # before counting them. # @!attribute [rw] count # @return [Integer] # Approximate number of occurrences in the given time period. # @!attribute [rw] start_time # @return [Google::Protobuf::Timestamp] # Start of the time period to which `count` refers (included). # @!attribute [rw] end_time # @return [Google::Protobuf::Timestamp] # End of the time period to which `count` refers (excluded). class TimedCount; end # Specifies a set of error events to return. # @!attribute [rw] project_name # @return [String] # 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`. # @!attribute [rw] group_id # @return [String] # Required. The group for which events shall be returned. # @!attribute [rw] service_filter # @return [Google::Devtools::Clouderrorreporting::V1beta1::ServiceContextFilter] # 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. # @!attribute [rw] time_range # @return [Google::Devtools::Clouderrorreporting::V1beta1::QueryTimeRange] # 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. # @!attribute [rw] page_size # @return [Integer] # Optional. The maximum number of results to return per response. # @!attribute [rw] page_token # @return [String] # Optional. A `next_page_token` provided by a previous response. class ListEventsRequest; end # Contains a set of requested error events. # @!attribute [rw] error_events # @return [Array] # The error events which match the given request. # @!attribute [rw] next_page_token # @return [String] # 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. # @!attribute [rw] time_range_begin # @return [Google::Protobuf::Timestamp] # The timestamp specifies the start time to which the request was restricted. class ListEventsResponse; end # Requests might be rejected or the resulting timed count durations might be # adjusted for lower durations. # @!attribute [rw] period # @return [Google::Devtools::Clouderrorreporting::V1beta1::QueryTimeRange::Period] # Restricts the query to the specified time range. class QueryTimeRange # The supported time ranges. module 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 end end # 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. # @!attribute [rw] service # @return [String] # Optional. The exact value to match against # [`ServiceContext.service`](https://cloud.google.com/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service). # @!attribute [rw] version # @return [String] # Optional. The exact value to match against # [`ServiceContext.version`](https://cloud.google.com/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version). # @!attribute [rw] resource_type # @return [String] # Optional. The exact value to match against # [`ServiceContext.resource_type`](https://cloud.google.com/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type). class ServiceContextFilter; end # Deletes all events in the project. # @!attribute [rw] project_name # @return [String] # 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`. class DeleteEventsRequest; end # Response message for deleting error events. class DeleteEventsResponse; end # A sorting order of error groups. module 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 end # Specifies how the time periods of error group counts are aligned. module 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 end end end end end