1 // Copyright 2016 Google Inc.
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
7 // http://www.apache.org/licenses/LICENSE-2.0
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
17 package google.appengine.logging.v1;
19 import "google/logging/type/log_severity.proto";
20 import "google/protobuf/duration.proto";
21 import "google/protobuf/timestamp.proto";
23 option go_package = "google.golang.org/genproto/googleapis/appengine/logging/v1;logging";
24 option java_multiple_files = true;
25 option java_outer_classname = "RequestLogProto";
26 option java_package = "com.google.appengine.logging.v1";
28 // Application log line emitted while processing a request.
30 // Approximate time when this log entry was made.
31 google.protobuf.Timestamp time = 1;
33 // Severity of this log entry.
34 google.logging.type.LogSeverity severity = 2;
36 // App-provided log message.
37 string log_message = 3;
39 // Where in the source code this log message was written.
40 SourceLocation source_location = 4;
43 // Specifies a location in a source code file.
44 message SourceLocation {
45 // Source file name. Depending on the runtime environment, this might be a
46 // simple name or a fully-qualified name.
49 // Line within the source file.
52 // Human-readable name of the function or method being invoked, with optional
53 // context such as the class or package name. This information is used in
54 // contexts such as the logs viewer, where a file and line number are less
55 // meaningful. The format can vary by language. For example:
56 // `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function`
58 string function_name = 3;
61 // A reference to a particular snapshot of the source tree used to build and
62 // deploy an application.
63 message SourceReference {
64 // Optional. A URI string identifying the repository.
65 // Example: "https://github.com/GoogleCloudPlatform/kubernetes.git"
66 string repository = 1;
68 // The canonical and persistent identifier of the deployed revision.
69 // Example (git): "0035781c50ec7aa23385dc841529ce8a4b70db1b"
70 string revision_id = 2;
73 // Complete log information about a single HTTP request to an App Engine
76 // Application that handled this request.
79 // Module of the application that handled this request.
80 string module_id = 37;
82 // Version of the application that handled this request.
83 string version_id = 2;
85 // Globally unique identifier for a request, which is based on the request
86 // start time. Request IDs for requests which started later will compare
87 // greater as strings than those for requests which started earlier.
88 string request_id = 3;
93 // Time when the request started.
94 google.protobuf.Timestamp start_time = 6;
96 // Time when the request finished.
97 google.protobuf.Timestamp end_time = 7;
99 // Latency of the request.
100 google.protobuf.Duration latency = 8;
102 // Number of CPU megacycles used to process request.
103 int64 mega_cycles = 9;
105 // Request method. Example: `"GET"`, `"HEAD"`, `"PUT"`, `"POST"`, `"DELETE"`.
108 // Contains the path and query portion of the URL that was requested. For
109 // example, if the URL was "http://example.com/app?name=val", the resource
110 // would be "/app?name=val". The fragment identifier, which is identified by
111 // the `#` character, is not included.
112 string resource = 11;
114 // HTTP version of request. Example: `"HTTP/1.1"`.
115 string http_version = 12;
117 // HTTP response status code. Example: 200, 404.
120 // Size in bytes sent back to client by request.
121 int64 response_size = 14;
123 // Referrer URL of request.
124 string referrer = 15;
126 // User agent that made the request.
127 string user_agent = 16;
129 // The logged-in user who made the request.
131 // Most likely, this is the part of the user's email before the `@` sign. The
132 // field value is the same for different requests from the same user, but
133 // different users can have similar names. This information is also
134 // available to the application via the App Engine Users API.
136 // This field will be populated starting with App Engine 1.9.21.
137 string nickname = 40;
139 // File or class that handled the request.
140 string url_map_entry = 17;
142 // Internet host and port number of the resource being requested.
145 // An indication of the relative cost of serving this request.
148 // Queue name of the request, in the case of an offline request.
149 string task_queue_name = 22;
151 // Task name of the request, in the case of an offline request.
152 string task_name = 23;
154 // Whether this was a loading request for the instance.
155 bool was_loading_request = 24;
157 // Time this request spent in the pending request queue.
158 google.protobuf.Duration pending_time = 25;
160 // If the instance processing this request belongs to a manually scaled
161 // module, then this is the 0-based index of the instance. Otherwise, this
163 int32 instance_index = 26;
165 // Whether this request is finished or active.
168 // Whether this is the first `RequestLog` entry for this request. If an
169 // active request has several `RequestLog` entries written to Stackdriver
170 // Logging, then this field will be set for one of them.
173 // An identifier for the instance that handled the request.
174 string instance_id = 28;
176 // A list of log lines emitted by the application while serving this request.
177 repeated LogLine line = 29;
179 // App Engine release version.
180 string app_engine_release = 38;
182 // Stackdriver Trace identifier for this request.
183 string trace_id = 39;
185 // Source code for the application that handled this request. There can be
186 // more than one source reference per deployed application if source code is
187 // distributed among multiple repositories.
188 repeated SourceReference source_reference = 41;