1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage google.logging.v2; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/monitored_resource.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/logging/type/http_request.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/logging/type/log_severity.proto"; 24*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/any.proto"; 25*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/struct.proto"; 26*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 27*d5c09012SAndroid Build Coastguard Worker 28*d5c09012SAndroid Build Coastguard Workeroption cc_enable_arenas = true; 29*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.Logging.V2"; 30*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/logging/apiv2/loggingpb;loggingpb"; 31*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 32*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "LogEntryProto"; 33*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.logging.v2"; 34*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\Logging\\V2"; 35*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::Logging::V2"; 36*d5c09012SAndroid Build Coastguard Worker 37*d5c09012SAndroid Build Coastguard Worker// An individual entry in a log. 38*d5c09012SAndroid Build Coastguard Workermessage LogEntry { 39*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 40*d5c09012SAndroid Build Coastguard Worker type: "logging.googleapis.com/Log" 41*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/logs/{log}" 42*d5c09012SAndroid Build Coastguard Worker pattern: "organizations/{organization}/logs/{log}" 43*d5c09012SAndroid Build Coastguard Worker pattern: "folders/{folder}/logs/{log}" 44*d5c09012SAndroid Build Coastguard Worker pattern: "billingAccounts/{billing_account}/logs/{log}" 45*d5c09012SAndroid Build Coastguard Worker name_field: "log_name" 46*d5c09012SAndroid Build Coastguard Worker }; 47*d5c09012SAndroid Build Coastguard Worker 48*d5c09012SAndroid Build Coastguard Worker // Required. The resource name of the log to which this log entry belongs: 49*d5c09012SAndroid Build Coastguard Worker // 50*d5c09012SAndroid Build Coastguard Worker // "projects/[PROJECT_ID]/logs/[LOG_ID]" 51*d5c09012SAndroid Build Coastguard Worker // "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]" 52*d5c09012SAndroid Build Coastguard Worker // "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]" 53*d5c09012SAndroid Build Coastguard Worker // "folders/[FOLDER_ID]/logs/[LOG_ID]" 54*d5c09012SAndroid Build Coastguard Worker // 55*d5c09012SAndroid Build Coastguard Worker // A project number may be used in place of PROJECT_ID. The project number is 56*d5c09012SAndroid Build Coastguard Worker // translated to its corresponding PROJECT_ID internally and the `log_name` 57*d5c09012SAndroid Build Coastguard Worker // field will contain PROJECT_ID in queries and exports. 58*d5c09012SAndroid Build Coastguard Worker // 59*d5c09012SAndroid Build Coastguard Worker // `[LOG_ID]` must be URL-encoded within `log_name`. Example: 60*d5c09012SAndroid Build Coastguard Worker // `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`. 61*d5c09012SAndroid Build Coastguard Worker // 62*d5c09012SAndroid Build Coastguard Worker // `[LOG_ID]` must be less than 512 characters long and can only include the 63*d5c09012SAndroid Build Coastguard Worker // following characters: upper and lower case alphanumeric characters, 64*d5c09012SAndroid Build Coastguard Worker // forward-slash, underscore, hyphen, and period. 65*d5c09012SAndroid Build Coastguard Worker // 66*d5c09012SAndroid Build Coastguard Worker // For backward compatibility, if `log_name` begins with a forward-slash, such 67*d5c09012SAndroid Build Coastguard Worker // as `/projects/...`, then the log entry is ingested as usual, but the 68*d5c09012SAndroid Build Coastguard Worker // forward-slash is removed. Listing the log entry will not show the leading 69*d5c09012SAndroid Build Coastguard Worker // slash and filtering for a log name with a leading slash will never return 70*d5c09012SAndroid Build Coastguard Worker // any results. 71*d5c09012SAndroid Build Coastguard Worker string log_name = 12 [(google.api.field_behavior) = REQUIRED]; 72*d5c09012SAndroid Build Coastguard Worker 73*d5c09012SAndroid Build Coastguard Worker // Required. The monitored resource that produced this log entry. 74*d5c09012SAndroid Build Coastguard Worker // 75*d5c09012SAndroid Build Coastguard Worker // Example: a log entry that reports a database error would be associated with 76*d5c09012SAndroid Build Coastguard Worker // the monitored resource designating the particular database that reported 77*d5c09012SAndroid Build Coastguard Worker // the error. 78*d5c09012SAndroid Build Coastguard Worker google.api.MonitoredResource resource = 8 79*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = REQUIRED]; 80*d5c09012SAndroid Build Coastguard Worker 81*d5c09012SAndroid Build Coastguard Worker // The log entry payload, which can be one of multiple types. 82*d5c09012SAndroid Build Coastguard Worker oneof payload { 83*d5c09012SAndroid Build Coastguard Worker // The log entry payload, represented as a protocol buffer. Some Google 84*d5c09012SAndroid Build Coastguard Worker // Cloud Platform services use this field for their log entry payloads. 85*d5c09012SAndroid Build Coastguard Worker // 86*d5c09012SAndroid Build Coastguard Worker // The following protocol buffer types are supported; user-defined types 87*d5c09012SAndroid Build Coastguard Worker // are not supported: 88*d5c09012SAndroid Build Coastguard Worker // 89*d5c09012SAndroid Build Coastguard Worker // "type.googleapis.com/google.cloud.audit.AuditLog" 90*d5c09012SAndroid Build Coastguard Worker // "type.googleapis.com/google.appengine.logging.v1.RequestLog" 91*d5c09012SAndroid Build Coastguard Worker google.protobuf.Any proto_payload = 2; 92*d5c09012SAndroid Build Coastguard Worker 93*d5c09012SAndroid Build Coastguard Worker // The log entry payload, represented as a Unicode string (UTF-8). 94*d5c09012SAndroid Build Coastguard Worker string text_payload = 3; 95*d5c09012SAndroid Build Coastguard Worker 96*d5c09012SAndroid Build Coastguard Worker // The log entry payload, represented as a structure that is 97*d5c09012SAndroid Build Coastguard Worker // expressed as a JSON object. 98*d5c09012SAndroid Build Coastguard Worker google.protobuf.Struct json_payload = 6; 99*d5c09012SAndroid Build Coastguard Worker } 100*d5c09012SAndroid Build Coastguard Worker 101*d5c09012SAndroid Build Coastguard Worker // Optional. The time the event described by the log entry occurred. This time 102*d5c09012SAndroid Build Coastguard Worker // is used to compute the log entry's age and to enforce the logs retention 103*d5c09012SAndroid Build Coastguard Worker // period. If this field is omitted in a new log entry, then Logging assigns 104*d5c09012SAndroid Build Coastguard Worker // it the current time. Timestamps have nanosecond accuracy, but trailing 105*d5c09012SAndroid Build Coastguard Worker // zeros in the fractional seconds might be omitted when the timestamp is 106*d5c09012SAndroid Build Coastguard Worker // displayed. 107*d5c09012SAndroid Build Coastguard Worker // 108*d5c09012SAndroid Build Coastguard Worker // Incoming log entries must have timestamps that don't exceed the 109*d5c09012SAndroid Build Coastguard Worker // [logs retention 110*d5c09012SAndroid Build Coastguard Worker // period](https://cloud.google.com/logging/quotas#logs_retention_periods) in 111*d5c09012SAndroid Build Coastguard Worker // the past, and that don't exceed 24 hours in the future. Log entries outside 112*d5c09012SAndroid Build Coastguard Worker // those time boundaries aren't ingested by Logging. 113*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp timestamp = 9 114*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 115*d5c09012SAndroid Build Coastguard Worker 116*d5c09012SAndroid Build Coastguard Worker // Output only. The time the log entry was received by Logging. 117*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp receive_timestamp = 24 118*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 119*d5c09012SAndroid Build Coastguard Worker 120*d5c09012SAndroid Build Coastguard Worker // Optional. The severity of the log entry. The default value is 121*d5c09012SAndroid Build Coastguard Worker // `LogSeverity.DEFAULT`. 122*d5c09012SAndroid Build Coastguard Worker google.logging.type.LogSeverity severity = 10 123*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 124*d5c09012SAndroid Build Coastguard Worker 125*d5c09012SAndroid Build Coastguard Worker // Optional. A unique identifier for the log entry. If you provide a value, 126*d5c09012SAndroid Build Coastguard Worker // then Logging considers other log entries in the same project, with the same 127*d5c09012SAndroid Build Coastguard Worker // `timestamp`, and with the same `insert_id` to be duplicates which are 128*d5c09012SAndroid Build Coastguard Worker // removed in a single query result. However, there are no guarantees of 129*d5c09012SAndroid Build Coastguard Worker // de-duplication in the export of logs. 130*d5c09012SAndroid Build Coastguard Worker // 131*d5c09012SAndroid Build Coastguard Worker // If the `insert_id` is omitted when writing a log entry, the Logging API 132*d5c09012SAndroid Build Coastguard Worker // assigns its own unique identifier in this field. 133*d5c09012SAndroid Build Coastguard Worker // 134*d5c09012SAndroid Build Coastguard Worker // In queries, the `insert_id` is also used to order log entries that have 135*d5c09012SAndroid Build Coastguard Worker // the same `log_name` and `timestamp` values. 136*d5c09012SAndroid Build Coastguard Worker string insert_id = 4 [(google.api.field_behavior) = OPTIONAL]; 137*d5c09012SAndroid Build Coastguard Worker 138*d5c09012SAndroid Build Coastguard Worker // Optional. Information about the HTTP request associated with this log 139*d5c09012SAndroid Build Coastguard Worker // entry, if applicable. 140*d5c09012SAndroid Build Coastguard Worker google.logging.type.HttpRequest http_request = 7 141*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 142*d5c09012SAndroid Build Coastguard Worker 143*d5c09012SAndroid Build Coastguard Worker // Optional. A map of key, value pairs that provides additional information 144*d5c09012SAndroid Build Coastguard Worker // about the log entry. The labels can be user-defined or system-defined. 145*d5c09012SAndroid Build Coastguard Worker // 146*d5c09012SAndroid Build Coastguard Worker // User-defined labels are arbitrary key, value pairs that you can use to 147*d5c09012SAndroid Build Coastguard Worker // classify logs. 148*d5c09012SAndroid Build Coastguard Worker // 149*d5c09012SAndroid Build Coastguard Worker // System-defined labels are defined by GCP services for platform logs. 150*d5c09012SAndroid Build Coastguard Worker // They have two components - a service namespace component and the 151*d5c09012SAndroid Build Coastguard Worker // attribute name. For example: `compute.googleapis.com/resource_name`. 152*d5c09012SAndroid Build Coastguard Worker // 153*d5c09012SAndroid Build Coastguard Worker // Cloud Logging truncates label keys that exceed 512 B and label 154*d5c09012SAndroid Build Coastguard Worker // values that exceed 64 KB upon their associated log entry being 155*d5c09012SAndroid Build Coastguard Worker // written. The truncation is indicated by an ellipsis at the 156*d5c09012SAndroid Build Coastguard Worker // end of the character string. 157*d5c09012SAndroid Build Coastguard Worker map<string, string> labels = 11 [(google.api.field_behavior) = OPTIONAL]; 158*d5c09012SAndroid Build Coastguard Worker 159*d5c09012SAndroid Build Coastguard Worker // Optional. Information about an operation associated with the log entry, if 160*d5c09012SAndroid Build Coastguard Worker // applicable. 161*d5c09012SAndroid Build Coastguard Worker LogEntryOperation operation = 15 [(google.api.field_behavior) = OPTIONAL]; 162*d5c09012SAndroid Build Coastguard Worker 163*d5c09012SAndroid Build Coastguard Worker // Optional. The REST resource name of the trace being written to 164*d5c09012SAndroid Build Coastguard Worker // [Cloud Trace](https://cloud.google.com/trace) in 165*d5c09012SAndroid Build Coastguard Worker // association with this log entry. For example, if your trace data is stored 166*d5c09012SAndroid Build Coastguard Worker // in the Cloud project "my-trace-project" and if the service that is creating 167*d5c09012SAndroid Build Coastguard Worker // the log entry receives a trace header that includes the trace ID "12345", 168*d5c09012SAndroid Build Coastguard Worker // then the service should use "projects/my-tracing-project/traces/12345". 169*d5c09012SAndroid Build Coastguard Worker // 170*d5c09012SAndroid Build Coastguard Worker // The `trace` field provides the link between logs and traces. By using 171*d5c09012SAndroid Build Coastguard Worker // this field, you can navigate from a log entry to a trace. 172*d5c09012SAndroid Build Coastguard Worker string trace = 22 [(google.api.field_behavior) = OPTIONAL]; 173*d5c09012SAndroid Build Coastguard Worker 174*d5c09012SAndroid Build Coastguard Worker // Optional. The ID of the [Cloud Trace](https://cloud.google.com/trace) span 175*d5c09012SAndroid Build Coastguard Worker // associated with the current operation in which the log is being written. 176*d5c09012SAndroid Build Coastguard Worker // For example, if a span has the REST resource name of 177*d5c09012SAndroid Build Coastguard Worker // "projects/some-project/traces/some-trace/spans/some-span-id", then the 178*d5c09012SAndroid Build Coastguard Worker // `span_id` field is "some-span-id". 179*d5c09012SAndroid Build Coastguard Worker // 180*d5c09012SAndroid Build Coastguard Worker // A 181*d5c09012SAndroid Build Coastguard Worker // [Span](https://cloud.google.com/trace/docs/reference/v2/rest/v2/projects.traces/batchWrite#Span) 182*d5c09012SAndroid Build Coastguard Worker // represents a single operation within a trace. Whereas a trace may involve 183*d5c09012SAndroid Build Coastguard Worker // multiple different microservices running on multiple different machines, 184*d5c09012SAndroid Build Coastguard Worker // a span generally corresponds to a single logical operation being performed 185*d5c09012SAndroid Build Coastguard Worker // in a single instance of a microservice on one specific machine. Spans 186*d5c09012SAndroid Build Coastguard Worker // are the nodes within the tree that is a trace. 187*d5c09012SAndroid Build Coastguard Worker // 188*d5c09012SAndroid Build Coastguard Worker // Applications that are [instrumented for 189*d5c09012SAndroid Build Coastguard Worker // tracing](https://cloud.google.com/trace/docs/setup) will generally assign a 190*d5c09012SAndroid Build Coastguard Worker // new, unique span ID on each incoming request. It is also common to create 191*d5c09012SAndroid Build Coastguard Worker // and record additional spans corresponding to internal processing elements 192*d5c09012SAndroid Build Coastguard Worker // as well as issuing requests to dependencies. 193*d5c09012SAndroid Build Coastguard Worker // 194*d5c09012SAndroid Build Coastguard Worker // The span ID is expected to be a 16-character, hexadecimal encoding of an 195*d5c09012SAndroid Build Coastguard Worker // 8-byte array and should not be zero. It should be unique within the trace 196*d5c09012SAndroid Build Coastguard Worker // and should, ideally, be generated in a manner that is uniformly random. 197*d5c09012SAndroid Build Coastguard Worker // 198*d5c09012SAndroid Build Coastguard Worker // Example values: 199*d5c09012SAndroid Build Coastguard Worker // 200*d5c09012SAndroid Build Coastguard Worker // - `000000000000004a` 201*d5c09012SAndroid Build Coastguard Worker // - `7a2190356c3fc94b` 202*d5c09012SAndroid Build Coastguard Worker // - `0000f00300090021` 203*d5c09012SAndroid Build Coastguard Worker // - `d39223e101960076` 204*d5c09012SAndroid Build Coastguard Worker string span_id = 27 [(google.api.field_behavior) = OPTIONAL]; 205*d5c09012SAndroid Build Coastguard Worker 206*d5c09012SAndroid Build Coastguard Worker // Optional. The sampling decision of the trace associated with the log entry. 207*d5c09012SAndroid Build Coastguard Worker // 208*d5c09012SAndroid Build Coastguard Worker // True means that the trace resource name in the `trace` field was sampled 209*d5c09012SAndroid Build Coastguard Worker // for storage in a trace backend. False means that the trace was not sampled 210*d5c09012SAndroid Build Coastguard Worker // for storage when this log entry was written, or the sampling decision was 211*d5c09012SAndroid Build Coastguard Worker // unknown at the time. A non-sampled `trace` value is still useful as a 212*d5c09012SAndroid Build Coastguard Worker // request correlation identifier. The default is False. 213*d5c09012SAndroid Build Coastguard Worker bool trace_sampled = 30 [(google.api.field_behavior) = OPTIONAL]; 214*d5c09012SAndroid Build Coastguard Worker 215*d5c09012SAndroid Build Coastguard Worker // Optional. Source code location information associated with the log entry, 216*d5c09012SAndroid Build Coastguard Worker // if any. 217*d5c09012SAndroid Build Coastguard Worker LogEntrySourceLocation source_location = 23 218*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 219*d5c09012SAndroid Build Coastguard Worker 220*d5c09012SAndroid Build Coastguard Worker // Optional. Information indicating this LogEntry is part of a sequence of 221*d5c09012SAndroid Build Coastguard Worker // multiple log entries split from a single LogEntry. 222*d5c09012SAndroid Build Coastguard Worker LogSplit split = 35 [(google.api.field_behavior) = OPTIONAL]; 223*d5c09012SAndroid Build Coastguard Worker} 224*d5c09012SAndroid Build Coastguard Worker 225*d5c09012SAndroid Build Coastguard Worker// Additional information about a potentially long-running operation with which 226*d5c09012SAndroid Build Coastguard Worker// a log entry is associated. 227*d5c09012SAndroid Build Coastguard Workermessage LogEntryOperation { 228*d5c09012SAndroid Build Coastguard Worker // Optional. An arbitrary operation identifier. Log entries with the same 229*d5c09012SAndroid Build Coastguard Worker // identifier are assumed to be part of the same operation. 230*d5c09012SAndroid Build Coastguard Worker string id = 1 [(google.api.field_behavior) = OPTIONAL]; 231*d5c09012SAndroid Build Coastguard Worker 232*d5c09012SAndroid Build Coastguard Worker // Optional. An arbitrary producer identifier. The combination of `id` and 233*d5c09012SAndroid Build Coastguard Worker // `producer` must be globally unique. Examples for `producer`: 234*d5c09012SAndroid Build Coastguard Worker // `"MyDivision.MyBigCompany.com"`, `"github.com/MyProject/MyApplication"`. 235*d5c09012SAndroid Build Coastguard Worker string producer = 2 [(google.api.field_behavior) = OPTIONAL]; 236*d5c09012SAndroid Build Coastguard Worker 237*d5c09012SAndroid Build Coastguard Worker // Optional. Set this to True if this is the first log entry in the operation. 238*d5c09012SAndroid Build Coastguard Worker bool first = 3 [(google.api.field_behavior) = OPTIONAL]; 239*d5c09012SAndroid Build Coastguard Worker 240*d5c09012SAndroid Build Coastguard Worker // Optional. Set this to True if this is the last log entry in the operation. 241*d5c09012SAndroid Build Coastguard Worker bool last = 4 [(google.api.field_behavior) = OPTIONAL]; 242*d5c09012SAndroid Build Coastguard Worker} 243*d5c09012SAndroid Build Coastguard Worker 244*d5c09012SAndroid Build Coastguard Worker// Additional information about the source code location that produced the log 245*d5c09012SAndroid Build Coastguard Worker// entry. 246*d5c09012SAndroid Build Coastguard Workermessage LogEntrySourceLocation { 247*d5c09012SAndroid Build Coastguard Worker // Optional. Source file name. Depending on the runtime environment, this 248*d5c09012SAndroid Build Coastguard Worker // might be a simple name or a fully-qualified name. 249*d5c09012SAndroid Build Coastguard Worker string file = 1 [(google.api.field_behavior) = OPTIONAL]; 250*d5c09012SAndroid Build Coastguard Worker 251*d5c09012SAndroid Build Coastguard Worker // Optional. Line within the source file. 1-based; 0 indicates no line number 252*d5c09012SAndroid Build Coastguard Worker // available. 253*d5c09012SAndroid Build Coastguard Worker int64 line = 2 [(google.api.field_behavior) = OPTIONAL]; 254*d5c09012SAndroid Build Coastguard Worker 255*d5c09012SAndroid Build Coastguard Worker // Optional. Human-readable name of the function or method being invoked, with 256*d5c09012SAndroid Build Coastguard Worker // optional context such as the class or package name. This information may be 257*d5c09012SAndroid Build Coastguard Worker // used in contexts such as the logs viewer, where a file and line number are 258*d5c09012SAndroid Build Coastguard Worker // less meaningful. The format can vary by language. For example: 259*d5c09012SAndroid Build Coastguard Worker // `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function` 260*d5c09012SAndroid Build Coastguard Worker // (Python). 261*d5c09012SAndroid Build Coastguard Worker string function = 3 [(google.api.field_behavior) = OPTIONAL]; 262*d5c09012SAndroid Build Coastguard Worker} 263*d5c09012SAndroid Build Coastguard Worker 264*d5c09012SAndroid Build Coastguard Worker// Additional information used to correlate multiple log entries. Used when a 265*d5c09012SAndroid Build Coastguard Worker// single LogEntry would exceed the Google Cloud Logging size limit and is 266*d5c09012SAndroid Build Coastguard Worker// split across multiple log entries. 267*d5c09012SAndroid Build Coastguard Workermessage LogSplit { 268*d5c09012SAndroid Build Coastguard Worker // A globally unique identifier for all log entries in a sequence of split log 269*d5c09012SAndroid Build Coastguard Worker // entries. All log entries with the same |LogSplit.uid| are assumed to be 270*d5c09012SAndroid Build Coastguard Worker // part of the same sequence of split log entries. 271*d5c09012SAndroid Build Coastguard Worker string uid = 1; 272*d5c09012SAndroid Build Coastguard Worker 273*d5c09012SAndroid Build Coastguard Worker // The index of this LogEntry in the sequence of split log entries. Log 274*d5c09012SAndroid Build Coastguard Worker // entries are given |index| values 0, 1, ..., n-1 for a sequence of n log 275*d5c09012SAndroid Build Coastguard Worker // entries. 276*d5c09012SAndroid Build Coastguard Worker int32 index = 2; 277*d5c09012SAndroid Build Coastguard Worker 278*d5c09012SAndroid Build Coastguard Worker // The total number of log entries that the original LogEntry was split into. 279*d5c09012SAndroid Build Coastguard Worker int32 total_splits = 3; 280*d5c09012SAndroid Build Coastguard Worker} 281