Migrate Error Reporting v1beta1 to proto annotations / GAPIC v2.

Committer: @lukesneeringer
PiperOrigin-RevId: 281075722
This commit is contained in:
Google APIs 2019-11-18 08:36:55 -08:00 committed by Copybara-Service
parent 418ee8e24a
commit 3ef5ffd735
10 changed files with 500 additions and 343 deletions

View File

@ -2,7 +2,7 @@ common:
api_name: error-reporting
api_version: v1beta1
organization_name: google-cloud
service_yaml: errorreporting.yaml
service_yaml: v1beta1/clouderrorreporting_v1beta1.yaml
gapic_yaml: v1beta1/errorreporting_gapic.yaml
src_proto_paths:
- v1beta1

View File

@ -1,24 +0,0 @@
type: google.api.Service
config_version: 3
title: Stackdriver Error Reporting API
name: clouderrorreporting.googleapis.com
documentation:
summary: >-
Stackdriver Error Reporting groups and counts similar errors
from cloud services.
The Stackdriver Error Reporting API provides a way to report new errors and
read access to error groups and their associated errors.
apis:
- name: google.devtools.clouderrorreporting.v1beta1.ErrorGroupService
- name: google.devtools.clouderrorreporting.v1beta1.ErrorStatsService
- name: google.devtools.clouderrorreporting.v1beta1.ReportErrorsService
authentication:
rules:
- selector: '*'
oauth:
canonical_scopes:
https://www.googleapis.com/auth/cloud-platform

View File

@ -0,0 +1,34 @@
type: google.api.Service
config_version: 3
name: clouderrorreporting.googleapis.com
title: Stackdriver Error Reporting API
apis:
- name: google.devtools.clouderrorreporting.v1beta1.ErrorGroupService
- name: google.devtools.clouderrorreporting.v1beta1.ErrorStatsService
- name: google.devtools.clouderrorreporting.v1beta1.ReportErrorsService
documentation:
summary: |-
Groups and counts similar errors from cloud services and applications,
reports new errors, and provides access to error groups and their
associated errors.
authentication:
rules:
- selector: google.devtools.clouderrorreporting.v1beta1.ErrorGroupService.GetGroup
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform
- selector: google.devtools.clouderrorreporting.v1beta1.ErrorGroupService.UpdateGroup
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform
- selector: 'google.devtools.clouderrorreporting.v1beta1.ErrorStatsService.*'
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform
- selector: google.devtools.clouderrorreporting.v1beta1.ReportErrorsService.ReportErrorEvent
oauth:
canonical_scopes: |-
https://www.googleapis.com/auth/cloud-platform

View File

@ -1,4 +1,4 @@
// Copyright 2016 Google Inc.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -17,9 +17,10 @@ syntax = "proto3";
package google.devtools.clouderrorreporting.v1beta1;
import "google/api/annotations.proto";
import "google/api/monitored_resource.proto";
import "google/api/resource.proto";
import "google/protobuf/timestamp.proto";
option cc_enable_arenas = true;
option csharp_namespace = "Google.Cloud.ErrorReporting.V1Beta1";
option go_package = "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1;clouderrorreporting";
option java_multiple_files = true;
@ -29,6 +30,11 @@ option php_namespace = "Google\\Cloud\\ErrorReporting\\V1beta1";
// Description of a group of similar error events.
message ErrorGroup {
option (google.api.resource) = {
type: "clouderrorreporting.googleapis.com/ErrorGroup"
pattern: "projects/{project}/groups/{group}"
};
// The group resource name.
// Example: <code>projects/my-project-123/groups/my-groupid</code>
string name = 1;
@ -79,6 +85,8 @@ message ServiceContext {
// Represents the source code version that the developer provided,
// which could represent a version label or a Git SHA-1 hash, for example.
// For App Engine standard environment, the version is set to the version of
// the app.
string version = 3;
// Type of the MonitoredResource. List of possible values:
@ -112,8 +120,7 @@ message ErrorContext {
// report the error, usually the place where it was logged.
// For a logged exception this would be the source line where the
// exception is logged, usually close to the place where it was
// caught. This value is in contrast to `Exception.cause_location`,
// which describes the source line where the exception was thrown.
// caught.
SourceLocation report_location = 3;
}
@ -144,11 +151,10 @@ message HttpRequestContext {
string remote_ip = 6;
}
// Indicates a location in the source code of the service for which
// errors are reported.
// This data should be provided by the application when reporting an error,
// unless the error report has been generated automatically from Google App
// Engine logs. All fields are optional.
// Indicates a location in the source code of the service for which errors are
// reported. `functionName` must be provided by the application when reporting
// an error, unless the error report contains a `message` with a supported
// exception stack trace. All fields are optional for the later case.
message SourceLocation {
// The source code filename, which can include a truncated relative
// path, or a full path from a production machine.

View File

@ -1,4 +1,4 @@
// Copyright 2016 Google Inc.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -11,14 +11,19 @@
// 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/api/client.proto";
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/devtools/clouderrorreporting/v1beta1/common.proto";
option cc_enable_arenas = true;
option csharp_namespace = "Google.Cloud.ErrorReporting.V1Beta1";
option go_package = "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1;clouderrorreporting";
option java_multiple_files = true;
@ -28,11 +33,15 @@ option php_namespace = "Google\\Cloud\\ErrorReporting\\V1beta1";
// Service for retrieving and updating individual error groups.
service ErrorGroupService {
option (google.api.default_host) = "clouderrorreporting.googleapis.com";
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
// Get the specified group.
rpc GetGroup(GetGroupRequest) returns (ErrorGroup) {
option (google.api.http) = {
get: "/v1beta1/{group_name=projects/*/groups/*}"
};
option (google.api.method_signature) = "group_name";
}
// Replace the data for the specified group.
@ -42,12 +51,13 @@ service ErrorGroupService {
put: "/v1beta1/{group.name=projects/*/groups/*}"
body: "group"
};
option (google.api.method_signature) = "group";
}
}
// A request to return an individual group.
message GetGroupRequest {
// [Required] The group resource name. Written as
// Required. The group resource name. Written as
// <code>projects/<var>projectID</var>/groups/<var>group_name</var></code>.
// Call
// <a href="/error-reporting/reference/rest/v1beta1/projects.groupStats/list">
@ -55,11 +65,16 @@ message GetGroupRequest {
// this project.
//
// Example: <code>projects/my-project-123/groups/my-group</code>
string group_name = 1;
string group_name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "clouderrorreporting.googleapis.com/ErrorGroup"
}
];
}
// A request to replace the existing data for the given group.
message UpdateGroupRequest {
// [Required] The group which replaces the resource on the server.
ErrorGroup group = 1;
// Required. The group which replaces the resource on the server.
ErrorGroup group = 1 [(google.api.field_behavior) = REQUIRED];
}

View File

@ -1,4 +1,4 @@
// Copyright 2016 Google Inc.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -11,16 +11,21 @@
// 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/api/client.proto";
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/devtools/clouderrorreporting/v1beta1/common.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/timestamp.proto";
option cc_enable_arenas = true;
option csharp_namespace = "Google.Cloud.ErrorReporting.V1Beta1";
option go_package = "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1;clouderrorreporting";
option java_multiple_files = true;
@ -31,11 +36,15 @@ option php_namespace = "Google\\Cloud\\ErrorReporting\\V1beta1";
// An API for retrieving and managing error statistics as well as data for
// individual events.
service ErrorStatsService {
option (google.api.default_host) = "clouderrorreporting.googleapis.com";
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
// Lists the specified groups.
rpc ListGroupStats(ListGroupStatsRequest) returns (ListGroupStatsResponse) {
option (google.api.http) = {
get: "/v1beta1/{project_name=projects/*}/groupStats"
};
option (google.api.method_signature) = "project_name,time_range";
}
// Lists the specified events.
@ -43,6 +52,7 @@ service ErrorStatsService {
option (google.api.http) = {
get: "/v1beta1/{project_name=projects/*}/events"
};
option (google.api.method_signature) = "project_name,group_id";
}
// Deletes all error events of a given project.
@ -50,60 +60,67 @@ service ErrorStatsService {
option (google.api.http) = {
delete: "/v1beta1/{project_name=projects/*}/events"
};
option (google.api.method_signature) = "project_name";
}
}
// Specifies a set of `ErrorGroupStats` to return.
message ListGroupStatsRequest {
// [Required] The resource name of the Google Cloud Platform project. Written
// 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;
string project_name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "cloudresourcemanager.googleapis.com/Project"
}
];
// [Optional] List all <code>ErrorGroupStats</code> with these IDs.
repeated string group_id = 2;
// Optional. List all <code>ErrorGroupStats</code> with these IDs.
repeated string group_id = 2 [(google.api.field_behavior) = OPTIONAL];
// [Optional] List only <code>ErrorGroupStats</code> which belong to a service
// 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;
ServiceContextFilter service_filter = 3 [(google.api.field_behavior) = OPTIONAL];
// [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.
// Optional. List data for the given time range.
// If not set, a default time range is used. The field
// <code>time_range_begin</code> 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;
// range are returned, unless the request contains an explicit
// <code>group_id</code> list. If a <code>group_id</code> list is given, also
// <code>ErrorGroupStats</code> with zero occurrences are returned.
QueryTimeRange time_range = 5 [(google.api.field_behavior) = OPTIONAL];
// [Optional] The preferred duration for a single returned `TimedCount`.
// Optional. The preferred duration for a single returned `TimedCount`.
// If not set, no timed counts are returned.
google.protobuf.Duration timed_count_duration = 6;
google.protobuf.Duration timed_count_duration = 6 [(google.api.field_behavior) = OPTIONAL];
// [Optional] The alignment of the timed counts to be returned.
// Optional. The alignment of the timed counts to be returned.
// Default is `ALIGNMENT_EQUAL_AT_END`.
TimedCountAlignment alignment = 7;
TimedCountAlignment alignment = 7 [(google.api.field_behavior) = OPTIONAL];
// [Optional] Time where the timed counts shall be aligned if rounded
// 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;
google.protobuf.Timestamp alignment_time = 8 [(google.api.field_behavior) = OPTIONAL];
// [Optional] The sort order in which the results are returned.
// Optional. The sort order in which the results are returned.
// Default is `COUNT_DESC`.
ErrorGroupOrder order = 9;
ErrorGroupOrder order = 9 [(google.api.field_behavior) = OPTIONAL];
// [Optional] The maximum number of results to return per response.
// Optional. The maximum number of results to return per response.
// Default is 20.
int32 page_size = 11;
int32 page_size = 11 [(google.api.field_behavior) = OPTIONAL];
// [Optional] A `next_page_token` provided by a previous response. To view
// 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;
string page_token = 12 [(google.api.field_behavior) = OPTIONAL];
}
// Contains a set of requested error group stats.
@ -196,33 +213,79 @@ message TimedCount {
google.protobuf.Timestamp end_time = 3;
}
// 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;
}
// Specifies a set of error events to return.
message ListEventsRequest {
// [Required] The resource name of the Google Cloud Platform project. Written
// 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;
string project_name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "cloudresourcemanager.googleapis.com/Project"
}
];
// [Required] The group for which events shall be returned.
string group_id = 2;
// Required. The group for which events shall be returned.
string group_id = 2 [(google.api.field_behavior) = REQUIRED];
// [Optional] List only ErrorGroups which belong to a service context that
// 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;
ServiceContextFilter service_filter = 3 [(google.api.field_behavior) = OPTIONAL];
// [Optional] List only data for the given time range.
// 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;
QueryTimeRange time_range = 4 [(google.api.field_behavior) = OPTIONAL];
// [Optional] The maximum number of results to return per response.
int32 page_size = 6;
// Optional. The maximum number of results to return per response.
int32 page_size = 6 [(google.api.field_behavior) = OPTIONAL];
// [Optional] A `next_page_token` provided by a previous response.
string page_token = 7;
// Optional. A `next_page_token` provided by a previous response.
string page_token = 7 [(google.api.field_behavior) = OPTIONAL];
}
// Contains a set of requested error events.
@ -277,69 +340,35 @@ message QueryTimeRange {
// 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
// Optional. The exact value to match against
// [`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).
string service = 2;
string service = 2 [(google.api.field_behavior) = OPTIONAL];
// [Optional] The exact value to match against
// Optional. The exact value to match against
// [`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).
string version = 3;
string version = 3 [(google.api.field_behavior) = OPTIONAL];
// [Optional] The exact value to match against
// Optional. The exact value to match against
// [`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type).
string resource_type = 4;
string resource_type = 4 [(google.api.field_behavior) = OPTIONAL];
}
// Deletes all events in the project.
message DeleteEventsRequest {
// [Required] The resource name of the Google Cloud Platform project. Written
// 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;
string project_name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "cloudresourcemanager.googleapis.com/Project"
}
];
}
// Response message for deleting error events.
message DeleteEventsResponse {}
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;
}

View File

@ -0,0 +1,223 @@
type: com.google.api.codegen.ConfigProto
config_schema_version: 1.0.0
language_settings:
java:
package_name: com.google.cloud.errorreporting.v1beta1
python:
package_name: google.cloud.errorreporting_v1beta1.gapic
go:
package_name: cloud.google.com/go/errorreporting/apiv1beta1
domain_layer_location: cloud.google.com/go/errorreporting
csharp:
package_name: Google.Cloud.ErrorReporting.V1Beta1
ruby:
package_name: Google::Cloud::ErrorReporting::V1beta1
php:
package_name: Google\Cloud\ErrorReporting\V1beta1
nodejs:
package_name: errorreporting.v1beta1
domain_layer_location: google-cloud
collections:
- name_pattern: projects/{project}
entity_name: project
language_overrides:
- language: csharp
common_resource_name: Google.Api.Gax.ResourceNames.ProjectName
- name_pattern: projects/{project}/groups/{group}
entity_name: group
interfaces:
- name: google.devtools.clouderrorreporting.v1beta1.ErrorGroupService
collections:
- name_pattern: projects/{project}/groups/{group}
entity_name: group
retry_codes_def:
- name: idempotent
retry_codes:
- UNAVAILABLE
- DEADLINE_EXCEEDED
- name: non_idempotent
retry_codes: []
retry_params_def:
- name: default
initial_retry_delay_millis: 100
retry_delay_multiplier: 1.3
max_retry_delay_millis: 60000
initial_rpc_timeout_millis: 20000
rpc_timeout_multiplier: 1
max_rpc_timeout_millis: 20000
total_timeout_millis: 600000
methods:
- name: GetGroup
flattening:
groups:
- parameters:
- group_name
required_fields:
- group_name
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
group_name: group
resource_name_treatment: STATIC_TYPES
timeout_millis: 60000
- name: UpdateGroup
flattening:
groups:
- parameters:
- group
required_fields:
- group
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
group.name: group
resource_name_treatment: STATIC_TYPES
timeout_millis: 60000
- name: google.devtools.clouderrorreporting.v1beta1.ReportErrorsService
smoke_test:
method: ReportErrorEvent
init_fields:
- project_name%project=$PROJECT_ID
- event.message="[MESSAGE]"
- event.service_context.service="[SERVICE]"
- event.context.report_location.file_path="path/to/file.lang"
- event.context.report_location.line_number=42
- event.context.report_location.function_name="meaningOfLife"
collections:
- name_pattern: projects/{project}
entity_name: project
language_overrides:
- language: csharp
common_resource_name: Google.Api.Gax.ResourceNames.ProjectName
retry_codes_def:
- name: idempotent
retry_codes:
- UNAVAILABLE
- DEADLINE_EXCEEDED
- name: non_idempotent
retry_codes: []
retry_params_def:
- name: default
initial_retry_delay_millis: 100
retry_delay_multiplier: 1.3
max_retry_delay_millis: 60000
initial_rpc_timeout_millis: 20000
rpc_timeout_multiplier: 1
max_rpc_timeout_millis: 20000
total_timeout_millis: 600000
methods:
- name: ReportErrorEvent
flattening:
groups:
- parameters:
- project_name
- event
required_fields:
- project_name
- event
retry_codes_name: non_idempotent
retry_params_name: default
field_name_patterns:
project_name: project
resource_name_treatment: STATIC_TYPES
timeout_millis: 60000
- name: google.devtools.clouderrorreporting.v1beta1.ErrorStatsService
collections:
- name_pattern: projects/{project}
entity_name: project
language_overrides:
- language: csharp
common_resource_name: Google.Api.Gax.ResourceNames.ProjectName
retry_codes_def:
- name: idempotent
retry_codes:
- UNAVAILABLE
- DEADLINE_EXCEEDED
- name: non_idempotent
retry_codes: []
retry_params_def:
- name: default
initial_retry_delay_millis: 100
retry_delay_multiplier: 1.3
max_retry_delay_millis: 60000
initial_rpc_timeout_millis: 20000
rpc_timeout_multiplier: 1
max_rpc_timeout_millis: 20000
total_timeout_millis: 600000
methods:
- name: ListGroupStats
flattening:
groups:
- parameters:
- project_name
- time_range
required_fields:
- project_name
- time_range
page_streaming:
request:
page_size_field: page_size
token_field: page_token
response:
token_field: next_page_token
resources_field: error_group_stats
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
project_name: project
resource_name_treatment: STATIC_TYPES
timeout_millis: 60000
- name: ListEvents
flattening:
groups:
- parameters:
- project_name
- group_id
required_fields:
- project_name
- group_id
page_streaming:
request:
page_size_field: page_size
token_field: page_token
response:
token_field: next_page_token
resources_field: error_events
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
project_name: project
resource_name_treatment: STATIC_TYPES
timeout_millis: 60000
- name: DeleteEvents
flattening:
groups:
- parameters:
- project_name
required_fields:
- project_name
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
project_name: project
resource_name_treatment: STATIC_TYPES
timeout_millis: 60000
resource_name_generation:
- message_name: ErrorGroup
field_entity_map:
name: group
- message_name: GetGroupRequest
field_entity_map:
group_name: group
- message_name: ListGroupStatsRequest
field_entity_map:
project_name: project
- message_name: ListEventsRequest
field_entity_map:
project_name: project
- message_name: DeleteEventsRequest
field_entity_map:
project_name: project
- message_name: ReportErrorEventRequest
field_entity_map:
project_name: project

View File

@ -1,5 +1,5 @@
type: com.google.api.codegen.ConfigProto
config_schema_version: 1.0.0
config_schema_version: 2.0.0
language_settings:
java:
package_name: com.google.cloud.errorreporting.v1beta1
@ -17,62 +17,7 @@ language_settings:
nodejs:
package_name: errorreporting.v1beta1
domain_layer_location: google-cloud
collections:
- name_pattern: projects/{project}
entity_name: project
language_overrides:
- language: csharp
common_resource_name: Google.Api.Gax.ResourceNames.ProjectName
- name_pattern: projects/{project}/groups/{group}
entity_name: group
interfaces:
- name: google.devtools.clouderrorreporting.v1beta1.ErrorGroupService
collections:
- name_pattern: projects/{project}/groups/{group}
entity_name: group
retry_codes_def:
- name: idempotent
retry_codes:
- UNAVAILABLE
- DEADLINE_EXCEEDED
- name: non_idempotent
retry_codes: []
retry_params_def:
- name: default
initial_retry_delay_millis: 100
retry_delay_multiplier: 1.3
max_retry_delay_millis: 60000
initial_rpc_timeout_millis: 20000
rpc_timeout_multiplier: 1
max_rpc_timeout_millis: 20000
total_timeout_millis: 600000
methods:
- name: GetGroup
flattening:
groups:
- parameters:
- group_name
required_fields:
- group_name
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
group_name: group
resource_name_treatment: STATIC_TYPES
timeout_millis: 60000
- name: UpdateGroup
flattening:
groups:
- parameters:
- group
required_fields:
- group
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
group.name: group
resource_name_treatment: STATIC_TYPES
timeout_millis: 60000
- name: google.devtools.clouderrorreporting.v1beta1.ReportErrorsService
smoke_test:
method: ReportErrorEvent
@ -83,141 +28,3 @@ interfaces:
- event.context.report_location.file_path="path/to/file.lang"
- event.context.report_location.line_number=42
- event.context.report_location.function_name="meaningOfLife"
collections:
- name_pattern: projects/{project}
entity_name: project
language_overrides:
- language: csharp
common_resource_name: Google.Api.Gax.ResourceNames.ProjectName
retry_codes_def:
- name: idempotent
retry_codes:
- UNAVAILABLE
- DEADLINE_EXCEEDED
- name: non_idempotent
retry_codes: []
retry_params_def:
- name: default
initial_retry_delay_millis: 100
retry_delay_multiplier: 1.3
max_retry_delay_millis: 60000
initial_rpc_timeout_millis: 20000
rpc_timeout_multiplier: 1
max_rpc_timeout_millis: 20000
total_timeout_millis: 600000
methods:
- name: ReportErrorEvent
flattening:
groups:
- parameters:
- project_name
- event
required_fields:
- project_name
- event
retry_codes_name: non_idempotent
retry_params_name: default
field_name_patterns:
project_name: project
resource_name_treatment: STATIC_TYPES
timeout_millis: 60000
- name: google.devtools.clouderrorreporting.v1beta1.ErrorStatsService
collections:
- name_pattern: projects/{project}
entity_name: project
language_overrides:
- language: csharp
common_resource_name: Google.Api.Gax.ResourceNames.ProjectName
retry_codes_def:
- name: idempotent
retry_codes:
- UNAVAILABLE
- DEADLINE_EXCEEDED
- name: non_idempotent
retry_codes: []
retry_params_def:
- name: default
initial_retry_delay_millis: 100
retry_delay_multiplier: 1.3
max_retry_delay_millis: 60000
initial_rpc_timeout_millis: 20000
rpc_timeout_multiplier: 1
max_rpc_timeout_millis: 20000
total_timeout_millis: 600000
methods:
- name: ListGroupStats
flattening:
groups:
- parameters:
- project_name
- time_range
required_fields:
- project_name
- time_range
page_streaming:
request:
page_size_field: page_size
token_field: page_token
response:
token_field: next_page_token
resources_field: error_group_stats
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
project_name: project
resource_name_treatment: STATIC_TYPES
timeout_millis: 60000
- name: ListEvents
flattening:
groups:
- parameters:
- project_name
- group_id
required_fields:
- project_name
- group_id
page_streaming:
request:
page_size_field: page_size
token_field: page_token
response:
token_field: next_page_token
resources_field: error_events
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
project_name: project
resource_name_treatment: STATIC_TYPES
timeout_millis: 60000
- name: DeleteEvents
flattening:
groups:
- parameters:
- project_name
required_fields:
- project_name
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
project_name: project
resource_name_treatment: STATIC_TYPES
timeout_millis: 60000
resource_name_generation:
- message_name: ErrorGroup
field_entity_map:
name: group
- message_name: GetGroupRequest
field_entity_map:
group_name: group
- message_name: ListGroupStatsRequest
field_entity_map:
project_name: project
- message_name: ListEventsRequest
field_entity_map:
project_name: project
- message_name: DeleteEventsRequest
field_entity_map:
project_name: project
- message_name: ReportErrorEventRequest
field_entity_map:
project_name: project

View File

@ -0,0 +1,32 @@
{
"methodConfig": [
{
"name": [
{
"service": "google.devtools.clouderrorreporting.v1beta1.ErrorStatsService"
},
{
"service": "google.devtools.clouderrorreporting.v1beta1.ErrorGroupService"
}
],
"timeout": "600s",
"retryPolicy": {
"initialBackoff": "0.100s",
"maxBackoff": "60s",
"backoffMultiplier": 1.3,
"retryableStatusCodes": [
"UNAVAILABLE",
"DEADLINE_EXCEEDED"
]
}
},
{
"name": [
{
"service": "google.devtools.clouderrorreporting.v1beta1.ReportErrorsService"
}
],
"timeout": "600s"
}
]
}

View File

@ -1,4 +1,4 @@
// Copyright 2016 Google Inc.
// Copyright 2019 Google LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -11,15 +11,20 @@
// 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/api/client.proto";
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/devtools/clouderrorreporting/v1beta1/common.proto";
import "google/protobuf/timestamp.proto";
option cc_enable_arenas = true;
option csharp_namespace = "Google.Cloud.ErrorReporting.V1Beta1";
option go_package = "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1;clouderrorreporting";
option java_multiple_files = true;
@ -29,57 +34,87 @@ option php_namespace = "Google\\Cloud\\ErrorReporting\\V1beta1";
// An API for reporting error events.
service ReportErrorsService {
option (google.api.default_host) = "clouderrorreporting.googleapis.com";
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
// Report an individual error event.
//
// This endpoint accepts <strong>either</strong> an OAuth token,
// <strong>or</strong> an
// <a href="https://support.google.com/cloud/answer/6158862">API key</a>
// This endpoint accepts **either** an OAuth token,
// **or** an [API key](https://support.google.com/cloud/answer/6158862)
// for authentication. To use an API key, append it to the URL as the value of
// a `key` parameter. For example:
// <pre>POST
// https://clouderrorreporting.googleapis.com/v1beta1/projects/example-project/events:report?key=123ABC456</pre>
rpc ReportErrorEvent(ReportErrorEventRequest)
returns (ReportErrorEventResponse) {
//
// `POST
// https://clouderrorreporting.googleapis.com/v1beta1/projects/example-project/events:report?key=123ABC456`
rpc ReportErrorEvent(ReportErrorEventRequest) returns (ReportErrorEventResponse) {
option (google.api.http) = {
post: "/v1beta1/{project_name=projects/*}/events:report"
body: "event"
};
option (google.api.method_signature) = "project_name,event";
}
}
// A request for reporting an individual error event.
message ReportErrorEventRequest {
// [Required] The resource name of the Google Cloud Platform project. Written
// 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;
string project_name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "cloudresourcemanager.googleapis.com/Project"
}
];
// [Required] The error event to be reported.
ReportedErrorEvent event = 2;
// Required. The error event to be reported.
ReportedErrorEvent event = 2 [(google.api.field_behavior) = REQUIRED];
}
// Response for reporting an individual error event.
// Data may be added to this message in the future.
message ReportErrorEventResponse {}
message ReportErrorEventResponse {
}
// An error event which is reported to the Error Reporting system.
message ReportedErrorEvent {
// [Optional] Time when the event occurred.
// Optional. Time when the event occurred.
// If not provided, the time when the event was received by the
// Error Reporting system will be used.
google.protobuf.Timestamp event_time = 1;
google.protobuf.Timestamp event_time = 1 [(google.api.field_behavior) = OPTIONAL];
// [Required] The service context in which this error has occurred.
ServiceContext service_context = 2;
// Required. The service context in which this error has occurred.
ServiceContext service_context = 2 [(google.api.field_behavior) = REQUIRED];
// [Required] A message describing the error. The message can contain an
// exception stack in one of the supported programming languages and formats.
// In that case, the message is parsed and detailed exception information
// is returned when retrieving the error event again.
string message = 3;
// Required. The error message.
// If no `context.reportLocation` is provided, the message must contain a
// header (typically consisting of the exception type name and an error
// message) and an exception stack trace in one of the supported programming
// languages and formats.
// Supported languages are Java, Python, JavaScript, Ruby, C#, PHP, and Go.
// Supported stack trace formats are:
//
// * **Java**: Must be the return value of
// [`Throwable.printStackTrace()`](https://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html#printStackTrace%28%29).
// * **Python**: Must be the return value of
// [`traceback.format_exc()`](https://docs.python.org/2/library/traceback.html#traceback.format_exc).
// * **JavaScript**: Must be the value of
// [`error.stack`](https://github.com/v8/v8/wiki/Stack-Trace-API) as returned
// by V8.
// * **Ruby**: Must contain frames returned by
// [`Exception.backtrace`](https://ruby-doc.org/core-2.2.0/Exception.html#method-i-backtrace).
// * **C#**: Must be the return value of
// [`Exception.ToString()`](https://msdn.microsoft.com/en-us/library/system.exception.tostring.aspx).
// * **PHP**: Must start with `PHP (Notice|Parse error|Fatal error|Warning)`
// and contain the result of
// [`(string)$exception`](http://php.net/manual/en/exception.tostring.php).
// * **Go**: Must be the return value of
// [`runtime.Stack()`](https://golang.org/pkg/runtime/debug/#Stack).
string message = 3 [(google.api.field_behavior) = REQUIRED];
// [Optional] A description of the context in which the error occurred.
ErrorContext context = 4;
// Optional. A description of the context in which the error occurred.
ErrorContext context = 4 [(google.api.field_behavior) = OPTIONAL];
}