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
165
166
167
168
169
170
171
172
173
174
175
// This file is @generated by prost-build.
/// Application log line emitted while processing a request.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogLine {
    /// Approximate time when this log entry was made.
    #[prost(message, optional, tag = "1")]
    pub time: ::core::option::Option<::prost_types::Timestamp>,
    /// Severity of this log entry.
    #[prost(
        enumeration = "super::super::super::logging::r#type::LogSeverity",
        tag = "2"
    )]
    pub severity: i32,
    /// App-provided log message.
    #[prost(string, tag = "3")]
    pub log_message: ::prost::alloc::string::String,
    /// Where in the source code this log message was written.
    #[prost(message, optional, tag = "4")]
    pub source_location: ::core::option::Option<SourceLocation>,
}
/// Specifies a location in a source code file.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SourceLocation {
    /// Source file name. Depending on the runtime environment, this might be a
    /// simple name or a fully-qualified name.
    #[prost(string, tag = "1")]
    pub file: ::prost::alloc::string::String,
    /// Line within the source file.
    #[prost(int64, tag = "2")]
    pub line: i64,
    /// Human-readable name of the function or method being invoked, with optional
    /// context such as the class or package name. This information is used in
    /// contexts such as the logs viewer, where a file and line number are less
    /// meaningful. The format can vary by language. For example:
    /// `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function`
    /// (Python).
    #[prost(string, tag = "3")]
    pub function_name: ::prost::alloc::string::String,
}
/// A reference to a particular snapshot of the source tree used to build and
/// deploy an application.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SourceReference {
    /// Optional. A URI string identifying the repository.
    /// Example: "<https://github.com/GoogleCloudPlatform/kubernetes.git">
    #[prost(string, tag = "1")]
    pub repository: ::prost::alloc::string::String,
    /// The canonical and persistent identifier of the deployed revision.
    /// Example (git): "0035781c50ec7aa23385dc841529ce8a4b70db1b"
    #[prost(string, tag = "2")]
    pub revision_id: ::prost::alloc::string::String,
}
/// Complete log information about a single HTTP request to an App Engine
/// application.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RequestLog {
    /// Application that handled this request.
    #[prost(string, tag = "1")]
    pub app_id: ::prost::alloc::string::String,
    /// Module of the application that handled this request.
    #[prost(string, tag = "37")]
    pub module_id: ::prost::alloc::string::String,
    /// Version of the application that handled this request.
    #[prost(string, tag = "2")]
    pub version_id: ::prost::alloc::string::String,
    /// Globally unique identifier for a request, which is based on the request
    /// start time.  Request IDs for requests which started later will compare
    /// greater as strings than those for requests which started earlier.
    #[prost(string, tag = "3")]
    pub request_id: ::prost::alloc::string::String,
    /// Origin IP address.
    #[prost(string, tag = "4")]
    pub ip: ::prost::alloc::string::String,
    /// Time when the request started.
    #[prost(message, optional, tag = "6")]
    pub start_time: ::core::option::Option<::prost_types::Timestamp>,
    /// Time when the request finished.
    #[prost(message, optional, tag = "7")]
    pub end_time: ::core::option::Option<::prost_types::Timestamp>,
    /// Latency of the request.
    #[prost(message, optional, tag = "8")]
    pub latency: ::core::option::Option<::prost_types::Duration>,
    /// Number of CPU megacycles used to process request.
    #[prost(int64, tag = "9")]
    pub mega_cycles: i64,
    /// Request method. Example: `"GET"`, `"HEAD"`, `"PUT"`, `"POST"`, `"DELETE"`.
    #[prost(string, tag = "10")]
    pub method: ::prost::alloc::string::String,
    /// Contains the path and query portion of the URL that was requested. For
    /// example, if the URL was "<http://example.com/app?name=val",> the resource
    /// would be "/app?name=val".  The fragment identifier, which is identified by
    /// the `#` character, is not included.
    #[prost(string, tag = "11")]
    pub resource: ::prost::alloc::string::String,
    /// HTTP version of request. Example: `"HTTP/1.1"`.
    #[prost(string, tag = "12")]
    pub http_version: ::prost::alloc::string::String,
    /// HTTP response status code. Example: 200, 404.
    #[prost(int32, tag = "13")]
    pub status: i32,
    /// Size in bytes sent back to client by request.
    #[prost(int64, tag = "14")]
    pub response_size: i64,
    /// Referrer URL of request.
    #[prost(string, tag = "15")]
    pub referrer: ::prost::alloc::string::String,
    /// User agent that made the request.
    #[prost(string, tag = "16")]
    pub user_agent: ::prost::alloc::string::String,
    /// The logged-in user who made the request.
    ///
    /// Most likely, this is the part of the user's email before the `@` sign.  The
    /// field value is the same for different requests from the same user, but
    /// different users can have similar names.  This information is also
    /// available to the application via the App Engine Users API.
    ///
    /// This field will be populated starting with App Engine 1.9.21.
    #[prost(string, tag = "40")]
    pub nickname: ::prost::alloc::string::String,
    /// File or class that handled the request.
    #[prost(string, tag = "17")]
    pub url_map_entry: ::prost::alloc::string::String,
    /// Internet host and port number of the resource being requested.
    #[prost(string, tag = "20")]
    pub host: ::prost::alloc::string::String,
    /// An indication of the relative cost of serving this request.
    #[prost(double, tag = "21")]
    pub cost: f64,
    /// Queue name of the request, in the case of an offline request.
    #[prost(string, tag = "22")]
    pub task_queue_name: ::prost::alloc::string::String,
    /// Task name of the request, in the case of an offline request.
    #[prost(string, tag = "23")]
    pub task_name: ::prost::alloc::string::String,
    /// Whether this was a loading request for the instance.
    #[prost(bool, tag = "24")]
    pub was_loading_request: bool,
    /// Time this request spent in the pending request queue.
    #[prost(message, optional, tag = "25")]
    pub pending_time: ::core::option::Option<::prost_types::Duration>,
    /// If the instance processing this request belongs to a manually scaled
    /// module, then this is the 0-based index of the instance. Otherwise, this
    /// value is -1.
    #[prost(int32, tag = "26")]
    pub instance_index: i32,
    /// Whether this request is finished or active.
    #[prost(bool, tag = "27")]
    pub finished: bool,
    /// Whether this is the first `RequestLog` entry for this request.  If an
    /// active request has several `RequestLog` entries written to Stackdriver
    /// Logging, then this field will be set for one of them.
    #[prost(bool, tag = "42")]
    pub first: bool,
    /// An identifier for the instance that handled the request.
    #[prost(string, tag = "28")]
    pub instance_id: ::prost::alloc::string::String,
    /// A list of log lines emitted by the application while serving this request.
    #[prost(message, repeated, tag = "29")]
    pub line: ::prost::alloc::vec::Vec<LogLine>,
    /// App Engine release version.
    #[prost(string, tag = "38")]
    pub app_engine_release: ::prost::alloc::string::String,
    /// Stackdriver Trace identifier for this request.
    #[prost(string, tag = "39")]
    pub trace_id: ::prost::alloc::string::String,
    /// If true, the value in the 'trace_id' field was sampled for storage in a
    /// trace backend.
    #[prost(bool, tag = "43")]
    pub trace_sampled: bool,
    /// Source code for the application that handled this request. There can be
    /// more than one source reference per deployed application if source code is
    /// distributed among multiple repositories.
    #[prost(message, repeated, tag = "41")]
    pub source_reference: ::prost::alloc::vec::Vec<SourceReference>,
}