aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/googleapis/google/devtools/clouderrorreporting/v1beta1/common.proto
blob: 33d5cf8248f1657dfa2b2203ddb543e496a99bb5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
// 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/api/monitored_resource.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 = "CommonProto";
option java_package = "com.google.devtools.clouderrorreporting.v1beta1";


// Description of a group of similar error events.
message ErrorGroup {
  // The group resource name.
  // Example: <code>projects/my-project-123/groups/my-groupid</code>
  string name = 1;

  // Group IDs are unique for a given project. If the same kind of error
  // occurs in different service contexts, it will receive the same group ID.
  string group_id = 2;

  // Associated tracking issues.
  repeated TrackingIssue tracking_issues = 3;
}

// Information related to tracking the progress on resolving the error.
message TrackingIssue {
  // A URL pointing to a related entry in an issue tracking system.
  // Example: https://github.com/user/project/issues/4
  string url = 1;
}

// An error event which is returned by the Error Reporting system.
message ErrorEvent {
  // Time when the event occurred as provided in the error report.
  // If the report did not contain a timestamp, the time the error was received
  // by the Error Reporting system is used.
  google.protobuf.Timestamp event_time = 1;

  // The `ServiceContext` for which this error was reported.
  ServiceContext service_context = 2;

  // The stack trace that was reported or logged by the service.
  string message = 3;

  // Data about the context in which the error occurred.
  ErrorContext context = 5;
}

// Describes a running service that sends errors.
// Its version changes over time and multiple versions can run in parallel.
message ServiceContext {
  // An identifier of the service, such as the name of the
  // executable, job, or Google App Engine service name. This field is expected
  // to have a low number of values that are relatively stable over time, as
  // opposed to `version`, which can be changed whenever new code is deployed.
  //
  // Contains the service name for error reports extracted from Google
  // App Engine logs or `default` if the App Engine default service is used.
  string service = 2;

  // Represents the source code version that the developer provided,
  // which could represent a version label or a Git SHA-1 hash, for example.
  string version = 3;

  // Type of the MonitoredResource. List of possible values:
  // https://cloud.google.com/monitoring/api/resources
  //
  // Value is set automatically for incoming errors and must not be set when
  // reporting errors.
  string resource_type = 4;
}

// A description of the context in which an error occurred.
// 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.
message ErrorContext {
  // The HTTP request which was processed when the error was
  // triggered.
  HttpRequestContext http_request = 1;

  // The user who caused or was affected by the crash.
  // This can be a user ID, an email address, or an arbitrary token that
  // uniquely identifies the user.
  // When sending an error report, leave this field empty if the user was not
  // logged in. In this case the
  // Error Reporting system will use other data, such as remote IP address, to
  // distinguish affected users. See `affected_users_count` in
  // `ErrorGroupStats`.
  string user = 2;

  // The location in the source code where the decision was made to
  // 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.
  SourceLocation report_location = 3;
}

// HTTP request data that is related to a reported error.
// 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.
message HttpRequestContext {
  // The type of HTTP request, such as `GET`, `POST`, etc.
  string method = 1;

  // The URL of the request.
  string url = 2;

  // The user agent information that is provided with the request.
  string user_agent = 3;

  // The referrer information that is provided with the request.
  string referrer = 4;

  // The HTTP response status code for the request.
  int32 response_status_code = 5;

  // The IP address from which the request originated.
  // This can be IPv4, IPv6, or a token which is derived from the
  // IP address, depending on the data that has been provided
  // in the error report.
  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.
message SourceLocation {
  // The source code filename, which can include a truncated relative
  // path, or a full path from a production machine.
  string file_path = 1;

  // 1-based. 0 indicates that the line number is unknown.
  int32 line_number = 2;

  // Human-readable name of a function or method.
  // The value can include optional context like the class or package name.
  // For example, `my.package.MyClass.method` in case of Java.
  string function_name = 4;
}