1*d5c09012SAndroid Build Coastguard Worker// Copyright 2020 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.devtools.cloudtrace.v1; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto"; 24*d5c09012SAndroid Build Coastguard Worker 25*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.Trace.V1"; 26*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/trace/apiv1/tracepb;tracepb"; 27*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 28*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "TraceProto"; 29*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.devtools.cloudtrace.v1"; 30*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\Trace\\V1"; 31*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::Trace::V1"; 32*d5c09012SAndroid Build Coastguard Worker 33*d5c09012SAndroid Build Coastguard Worker// This file describes an API for collecting and viewing traces and spans 34*d5c09012SAndroid Build Coastguard Worker// within a trace. A Trace is a collection of spans corresponding to a single 35*d5c09012SAndroid Build Coastguard Worker// operation or set of operations for an application. A span is an individual 36*d5c09012SAndroid Build Coastguard Worker// timed event which forms a node of the trace tree. Spans for a single trace 37*d5c09012SAndroid Build Coastguard Worker// may span multiple services. 38*d5c09012SAndroid Build Coastguard Workerservice TraceService { 39*d5c09012SAndroid Build Coastguard Worker option (google.api.default_host) = "cloudtrace.googleapis.com"; 40*d5c09012SAndroid Build Coastguard Worker option (google.api.oauth_scopes) = 41*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/cloud-platform," 42*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/trace.append," 43*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/trace.readonly"; 44*d5c09012SAndroid Build Coastguard Worker 45*d5c09012SAndroid Build Coastguard Worker // Returns of a list of traces that match the specified filter conditions. 46*d5c09012SAndroid Build Coastguard Worker rpc ListTraces(ListTracesRequest) returns (ListTracesResponse) { 47*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 48*d5c09012SAndroid Build Coastguard Worker get: "/v1/projects/{project_id}/traces" 49*d5c09012SAndroid Build Coastguard Worker }; 50*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "project_id"; 51*d5c09012SAndroid Build Coastguard Worker } 52*d5c09012SAndroid Build Coastguard Worker 53*d5c09012SAndroid Build Coastguard Worker // Gets a single trace by its ID. 54*d5c09012SAndroid Build Coastguard Worker rpc GetTrace(GetTraceRequest) returns (Trace) { 55*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 56*d5c09012SAndroid Build Coastguard Worker get: "/v1/projects/{project_id}/traces/{trace_id}" 57*d5c09012SAndroid Build Coastguard Worker }; 58*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "project_id,trace_id"; 59*d5c09012SAndroid Build Coastguard Worker } 60*d5c09012SAndroid Build Coastguard Worker 61*d5c09012SAndroid Build Coastguard Worker // Sends new traces to Stackdriver Trace or updates existing traces. If the ID 62*d5c09012SAndroid Build Coastguard Worker // of a trace that you send matches that of an existing trace, any fields 63*d5c09012SAndroid Build Coastguard Worker // in the existing trace and its spans are overwritten by the provided values, 64*d5c09012SAndroid Build Coastguard Worker // and any new fields provided are merged with the existing trace data. If the 65*d5c09012SAndroid Build Coastguard Worker // ID does not match, a new trace is created. 66*d5c09012SAndroid Build Coastguard Worker rpc PatchTraces(PatchTracesRequest) returns (google.protobuf.Empty) { 67*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 68*d5c09012SAndroid Build Coastguard Worker patch: "/v1/projects/{project_id}/traces" 69*d5c09012SAndroid Build Coastguard Worker body: "traces" 70*d5c09012SAndroid Build Coastguard Worker }; 71*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "project_id,traces"; 72*d5c09012SAndroid Build Coastguard Worker } 73*d5c09012SAndroid Build Coastguard Worker} 74*d5c09012SAndroid Build Coastguard Worker 75*d5c09012SAndroid Build Coastguard Worker// A trace describes how long it takes for an application to perform an 76*d5c09012SAndroid Build Coastguard Worker// operation. It consists of a set of spans, each of which represent a single 77*d5c09012SAndroid Build Coastguard Worker// timed event within the operation. 78*d5c09012SAndroid Build Coastguard Workermessage Trace { 79*d5c09012SAndroid Build Coastguard Worker // Project ID of the Cloud project where the trace data is stored. 80*d5c09012SAndroid Build Coastguard Worker string project_id = 1; 81*d5c09012SAndroid Build Coastguard Worker 82*d5c09012SAndroid Build Coastguard Worker // Globally unique identifier for the trace. This identifier is a 128-bit 83*d5c09012SAndroid Build Coastguard Worker // numeric value formatted as a 32-byte hex string. For example, 84*d5c09012SAndroid Build Coastguard Worker // `382d4f4c6b7bb2f4a972559d9085001d`. 85*d5c09012SAndroid Build Coastguard Worker string trace_id = 2; 86*d5c09012SAndroid Build Coastguard Worker 87*d5c09012SAndroid Build Coastguard Worker // Collection of spans in the trace. 88*d5c09012SAndroid Build Coastguard Worker repeated TraceSpan spans = 3; 89*d5c09012SAndroid Build Coastguard Worker} 90*d5c09012SAndroid Build Coastguard Worker 91*d5c09012SAndroid Build Coastguard Worker// List of new or updated traces. 92*d5c09012SAndroid Build Coastguard Workermessage Traces { 93*d5c09012SAndroid Build Coastguard Worker // List of traces. 94*d5c09012SAndroid Build Coastguard Worker repeated Trace traces = 1; 95*d5c09012SAndroid Build Coastguard Worker} 96*d5c09012SAndroid Build Coastguard Worker 97*d5c09012SAndroid Build Coastguard Worker// A span represents a single timed event within a trace. Spans can be nested 98*d5c09012SAndroid Build Coastguard Worker// and form a trace tree. Often, a trace contains a root span that describes the 99*d5c09012SAndroid Build Coastguard Worker// end-to-end latency of an operation and, optionally, one or more subspans for 100*d5c09012SAndroid Build Coastguard Worker// its suboperations. Spans do not need to be contiguous. There may be gaps 101*d5c09012SAndroid Build Coastguard Worker// between spans in a trace. 102*d5c09012SAndroid Build Coastguard Workermessage TraceSpan { 103*d5c09012SAndroid Build Coastguard Worker // Type of span. Can be used to specify additional relationships between spans 104*d5c09012SAndroid Build Coastguard Worker // in addition to a parent/child relationship. 105*d5c09012SAndroid Build Coastguard Worker enum SpanKind { 106*d5c09012SAndroid Build Coastguard Worker // Unspecified. 107*d5c09012SAndroid Build Coastguard Worker SPAN_KIND_UNSPECIFIED = 0; 108*d5c09012SAndroid Build Coastguard Worker 109*d5c09012SAndroid Build Coastguard Worker // Indicates that the span covers server-side handling of an RPC or other 110*d5c09012SAndroid Build Coastguard Worker // remote network request. 111*d5c09012SAndroid Build Coastguard Worker RPC_SERVER = 1; 112*d5c09012SAndroid Build Coastguard Worker 113*d5c09012SAndroid Build Coastguard Worker // Indicates that the span covers the client-side wrapper around an RPC or 114*d5c09012SAndroid Build Coastguard Worker // other remote request. 115*d5c09012SAndroid Build Coastguard Worker RPC_CLIENT = 2; 116*d5c09012SAndroid Build Coastguard Worker } 117*d5c09012SAndroid Build Coastguard Worker 118*d5c09012SAndroid Build Coastguard Worker // Identifier for the span. Must be a 64-bit integer other than 0 and 119*d5c09012SAndroid Build Coastguard Worker // unique within a trace. For example, `2205310701640571284`. 120*d5c09012SAndroid Build Coastguard Worker fixed64 span_id = 1; 121*d5c09012SAndroid Build Coastguard Worker 122*d5c09012SAndroid Build Coastguard Worker // Distinguishes between spans generated in a particular context. For example, 123*d5c09012SAndroid Build Coastguard Worker // two spans with the same name may be distinguished using `RPC_CLIENT` 124*d5c09012SAndroid Build Coastguard Worker // and `RPC_SERVER` to identify queueing latency associated with the span. 125*d5c09012SAndroid Build Coastguard Worker SpanKind kind = 2; 126*d5c09012SAndroid Build Coastguard Worker 127*d5c09012SAndroid Build Coastguard Worker // Name of the span. Must be less than 128 bytes. The span name is sanitized 128*d5c09012SAndroid Build Coastguard Worker // and displayed in the Stackdriver Trace tool in the 129*d5c09012SAndroid Build Coastguard Worker // Google Cloud Platform Console. 130*d5c09012SAndroid Build Coastguard Worker // The name may be a method name or some other per-call site name. 131*d5c09012SAndroid Build Coastguard Worker // For the same executable and the same call point, a best practice is 132*d5c09012SAndroid Build Coastguard Worker // to use a consistent name, which makes it easier to correlate 133*d5c09012SAndroid Build Coastguard Worker // cross-trace spans. 134*d5c09012SAndroid Build Coastguard Worker string name = 3; 135*d5c09012SAndroid Build Coastguard Worker 136*d5c09012SAndroid Build Coastguard Worker // Start time of the span in nanoseconds from the UNIX epoch. 137*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp start_time = 4; 138*d5c09012SAndroid Build Coastguard Worker 139*d5c09012SAndroid Build Coastguard Worker // End time of the span in nanoseconds from the UNIX epoch. 140*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp end_time = 5; 141*d5c09012SAndroid Build Coastguard Worker 142*d5c09012SAndroid Build Coastguard Worker // Optional. ID of the parent span, if any. 143*d5c09012SAndroid Build Coastguard Worker fixed64 parent_span_id = 6 [(google.api.field_behavior) = OPTIONAL]; 144*d5c09012SAndroid Build Coastguard Worker 145*d5c09012SAndroid Build Coastguard Worker // Collection of labels associated with the span. Label keys must be less than 146*d5c09012SAndroid Build Coastguard Worker // 128 bytes. Label values must be less than 16 kilobytes (10MB for 147*d5c09012SAndroid Build Coastguard Worker // `/stacktrace` values). 148*d5c09012SAndroid Build Coastguard Worker // 149*d5c09012SAndroid Build Coastguard Worker // Some predefined label keys exist, or you may create your own. When creating 150*d5c09012SAndroid Build Coastguard Worker // your own, we recommend the following formats: 151*d5c09012SAndroid Build Coastguard Worker // 152*d5c09012SAndroid Build Coastguard Worker // * `/category/product/key` for agents of well-known products (e.g. 153*d5c09012SAndroid Build Coastguard Worker // `/db/mongodb/read_size`). 154*d5c09012SAndroid Build Coastguard Worker // * `short_host/path/key` for domain-specific keys (e.g. 155*d5c09012SAndroid Build Coastguard Worker // `foo.com/myproduct/bar`) 156*d5c09012SAndroid Build Coastguard Worker // 157*d5c09012SAndroid Build Coastguard Worker // Predefined labels include: 158*d5c09012SAndroid Build Coastguard Worker // 159*d5c09012SAndroid Build Coastguard Worker // * `/agent` 160*d5c09012SAndroid Build Coastguard Worker // * `/component` 161*d5c09012SAndroid Build Coastguard Worker // * `/error/message` 162*d5c09012SAndroid Build Coastguard Worker // * `/error/name` 163*d5c09012SAndroid Build Coastguard Worker // * `/http/client_city` 164*d5c09012SAndroid Build Coastguard Worker // * `/http/client_country` 165*d5c09012SAndroid Build Coastguard Worker // * `/http/client_protocol` 166*d5c09012SAndroid Build Coastguard Worker // * `/http/client_region` 167*d5c09012SAndroid Build Coastguard Worker // * `/http/host` 168*d5c09012SAndroid Build Coastguard Worker // * `/http/method` 169*d5c09012SAndroid Build Coastguard Worker // * `/http/path` 170*d5c09012SAndroid Build Coastguard Worker // * `/http/redirected_url` 171*d5c09012SAndroid Build Coastguard Worker // * `/http/request/size` 172*d5c09012SAndroid Build Coastguard Worker // * `/http/response/size` 173*d5c09012SAndroid Build Coastguard Worker // * `/http/route` 174*d5c09012SAndroid Build Coastguard Worker // * `/http/status_code` 175*d5c09012SAndroid Build Coastguard Worker // * `/http/url` 176*d5c09012SAndroid Build Coastguard Worker // * `/http/user_agent` 177*d5c09012SAndroid Build Coastguard Worker // * `/pid` 178*d5c09012SAndroid Build Coastguard Worker // * `/stacktrace` 179*d5c09012SAndroid Build Coastguard Worker // * `/tid` 180*d5c09012SAndroid Build Coastguard Worker map<string, string> labels = 7; 181*d5c09012SAndroid Build Coastguard Worker} 182*d5c09012SAndroid Build Coastguard Worker 183*d5c09012SAndroid Build Coastguard Worker// The request message for the `ListTraces` method. All fields are required 184*d5c09012SAndroid Build Coastguard Worker// unless specified. 185*d5c09012SAndroid Build Coastguard Workermessage ListTracesRequest { 186*d5c09012SAndroid Build Coastguard Worker // Type of data returned for traces in the list. 187*d5c09012SAndroid Build Coastguard Worker enum ViewType { 188*d5c09012SAndroid Build Coastguard Worker // Default is `MINIMAL` if unspecified. 189*d5c09012SAndroid Build Coastguard Worker VIEW_TYPE_UNSPECIFIED = 0; 190*d5c09012SAndroid Build Coastguard Worker 191*d5c09012SAndroid Build Coastguard Worker // Minimal view of the trace record that contains only the project 192*d5c09012SAndroid Build Coastguard Worker // and trace IDs. 193*d5c09012SAndroid Build Coastguard Worker MINIMAL = 1; 194*d5c09012SAndroid Build Coastguard Worker 195*d5c09012SAndroid Build Coastguard Worker // Root span view of the trace record that returns the root spans along 196*d5c09012SAndroid Build Coastguard Worker // with the minimal trace data. 197*d5c09012SAndroid Build Coastguard Worker ROOTSPAN = 2; 198*d5c09012SAndroid Build Coastguard Worker 199*d5c09012SAndroid Build Coastguard Worker // Complete view of the trace record that contains the actual trace data. 200*d5c09012SAndroid Build Coastguard Worker // This is equivalent to calling the REST `get` or RPC `GetTrace` method 201*d5c09012SAndroid Build Coastguard Worker // using the ID of each listed trace. 202*d5c09012SAndroid Build Coastguard Worker COMPLETE = 3; 203*d5c09012SAndroid Build Coastguard Worker } 204*d5c09012SAndroid Build Coastguard Worker 205*d5c09012SAndroid Build Coastguard Worker // Required. ID of the Cloud project where the trace data is stored. 206*d5c09012SAndroid Build Coastguard Worker string project_id = 1 [(google.api.field_behavior) = REQUIRED]; 207*d5c09012SAndroid Build Coastguard Worker 208*d5c09012SAndroid Build Coastguard Worker // Optional. Type of data returned for traces in the list. Default is 209*d5c09012SAndroid Build Coastguard Worker // `MINIMAL`. 210*d5c09012SAndroid Build Coastguard Worker ViewType view = 2 [(google.api.field_behavior) = OPTIONAL]; 211*d5c09012SAndroid Build Coastguard Worker 212*d5c09012SAndroid Build Coastguard Worker // Optional. Maximum number of traces to return. If not specified or <= 0, the 213*d5c09012SAndroid Build Coastguard Worker // implementation selects a reasonable value. The implementation may 214*d5c09012SAndroid Build Coastguard Worker // return fewer traces than the requested page size. 215*d5c09012SAndroid Build Coastguard Worker int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL]; 216*d5c09012SAndroid Build Coastguard Worker 217*d5c09012SAndroid Build Coastguard Worker // Token identifying the page of results to return. If provided, use the 218*d5c09012SAndroid Build Coastguard Worker // value of the `next_page_token` field from a previous request. 219*d5c09012SAndroid Build Coastguard Worker string page_token = 4; 220*d5c09012SAndroid Build Coastguard Worker 221*d5c09012SAndroid Build Coastguard Worker // Start of the time interval (inclusive) during which the trace data was 222*d5c09012SAndroid Build Coastguard Worker // collected from the application. 223*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp start_time = 5; 224*d5c09012SAndroid Build Coastguard Worker 225*d5c09012SAndroid Build Coastguard Worker // End of the time interval (inclusive) during which the trace data was 226*d5c09012SAndroid Build Coastguard Worker // collected from the application. 227*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp end_time = 6; 228*d5c09012SAndroid Build Coastguard Worker 229*d5c09012SAndroid Build Coastguard Worker // Optional. A filter against labels for the request. 230*d5c09012SAndroid Build Coastguard Worker // 231*d5c09012SAndroid Build Coastguard Worker // By default, searches use prefix matching. To specify exact match, prepend 232*d5c09012SAndroid Build Coastguard Worker // a plus symbol (`+`) to the search term. 233*d5c09012SAndroid Build Coastguard Worker // Multiple terms are ANDed. Syntax: 234*d5c09012SAndroid Build Coastguard Worker // 235*d5c09012SAndroid Build Coastguard Worker // * `root:NAME_PREFIX` or `NAME_PREFIX`: Return traces where any root 236*d5c09012SAndroid Build Coastguard Worker // span starts with `NAME_PREFIX`. 237*d5c09012SAndroid Build Coastguard Worker // * `+root:NAME` or `+NAME`: Return traces where any root span's name is 238*d5c09012SAndroid Build Coastguard Worker // exactly `NAME`. 239*d5c09012SAndroid Build Coastguard Worker // * `span:NAME_PREFIX`: Return traces where any span starts with 240*d5c09012SAndroid Build Coastguard Worker // `NAME_PREFIX`. 241*d5c09012SAndroid Build Coastguard Worker // * `+span:NAME`: Return traces where any span's name is exactly 242*d5c09012SAndroid Build Coastguard Worker // `NAME`. 243*d5c09012SAndroid Build Coastguard Worker // * `latency:DURATION`: Return traces whose overall latency is 244*d5c09012SAndroid Build Coastguard Worker // greater or equal to than `DURATION`. Accepted units are nanoseconds 245*d5c09012SAndroid Build Coastguard Worker // (`ns`), milliseconds (`ms`), and seconds (`s`). Default is `ms`. For 246*d5c09012SAndroid Build Coastguard Worker // example, `latency:24ms` returns traces whose overall latency 247*d5c09012SAndroid Build Coastguard Worker // is greater than or equal to 24 milliseconds. 248*d5c09012SAndroid Build Coastguard Worker // * `label:LABEL_KEY`: Return all traces containing the specified 249*d5c09012SAndroid Build Coastguard Worker // label key (exact match, case-sensitive) regardless of the key:value 250*d5c09012SAndroid Build Coastguard Worker // pair's value (including empty values). 251*d5c09012SAndroid Build Coastguard Worker // * `LABEL_KEY:VALUE_PREFIX`: Return all traces containing the specified 252*d5c09012SAndroid Build Coastguard Worker // label key (exact match, case-sensitive) whose value starts with 253*d5c09012SAndroid Build Coastguard Worker // `VALUE_PREFIX`. Both a key and a value must be specified. 254*d5c09012SAndroid Build Coastguard Worker // * `+LABEL_KEY:VALUE`: Return all traces containing a key:value pair 255*d5c09012SAndroid Build Coastguard Worker // exactly matching the specified text. Both a key and a value must be 256*d5c09012SAndroid Build Coastguard Worker // specified. 257*d5c09012SAndroid Build Coastguard Worker // * `method:VALUE`: Equivalent to `/http/method:VALUE`. 258*d5c09012SAndroid Build Coastguard Worker // * `url:VALUE`: Equivalent to `/http/url:VALUE`. 259*d5c09012SAndroid Build Coastguard Worker string filter = 7 [(google.api.field_behavior) = OPTIONAL]; 260*d5c09012SAndroid Build Coastguard Worker 261*d5c09012SAndroid Build Coastguard Worker // Optional. Field used to sort the returned traces. 262*d5c09012SAndroid Build Coastguard Worker // Can be one of the following: 263*d5c09012SAndroid Build Coastguard Worker // 264*d5c09012SAndroid Build Coastguard Worker // * `trace_id` 265*d5c09012SAndroid Build Coastguard Worker // * `name` (`name` field of root span in the trace) 266*d5c09012SAndroid Build Coastguard Worker // * `duration` (difference between `end_time` and `start_time` fields of 267*d5c09012SAndroid Build Coastguard Worker // the root span) 268*d5c09012SAndroid Build Coastguard Worker // * `start` (`start_time` field of the root span) 269*d5c09012SAndroid Build Coastguard Worker // 270*d5c09012SAndroid Build Coastguard Worker // Descending order can be specified by appending `desc` to the sort field 271*d5c09012SAndroid Build Coastguard Worker // (for example, `name desc`). 272*d5c09012SAndroid Build Coastguard Worker // 273*d5c09012SAndroid Build Coastguard Worker // Only one sort field is permitted. 274*d5c09012SAndroid Build Coastguard Worker string order_by = 8 [(google.api.field_behavior) = OPTIONAL]; 275*d5c09012SAndroid Build Coastguard Worker} 276*d5c09012SAndroid Build Coastguard Worker 277*d5c09012SAndroid Build Coastguard Worker// The response message for the `ListTraces` method. 278*d5c09012SAndroid Build Coastguard Workermessage ListTracesResponse { 279*d5c09012SAndroid Build Coastguard Worker // List of trace records as specified by the view parameter. 280*d5c09012SAndroid Build Coastguard Worker repeated Trace traces = 1; 281*d5c09012SAndroid Build Coastguard Worker 282*d5c09012SAndroid Build Coastguard Worker // If defined, indicates that there are more traces that match the request 283*d5c09012SAndroid Build Coastguard Worker // and that this value should be passed to the next request to continue 284*d5c09012SAndroid Build Coastguard Worker // retrieving additional traces. 285*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 286*d5c09012SAndroid Build Coastguard Worker} 287*d5c09012SAndroid Build Coastguard Worker 288*d5c09012SAndroid Build Coastguard Worker// The request message for the `GetTrace` method. 289*d5c09012SAndroid Build Coastguard Workermessage GetTraceRequest { 290*d5c09012SAndroid Build Coastguard Worker // Required. ID of the Cloud project where the trace data is stored. 291*d5c09012SAndroid Build Coastguard Worker string project_id = 1 [(google.api.field_behavior) = REQUIRED]; 292*d5c09012SAndroid Build Coastguard Worker 293*d5c09012SAndroid Build Coastguard Worker // Required. ID of the trace to return. 294*d5c09012SAndroid Build Coastguard Worker string trace_id = 2 [(google.api.field_behavior) = REQUIRED]; 295*d5c09012SAndroid Build Coastguard Worker} 296*d5c09012SAndroid Build Coastguard Worker 297*d5c09012SAndroid Build Coastguard Worker// The request message for the `PatchTraces` method. 298*d5c09012SAndroid Build Coastguard Workermessage PatchTracesRequest { 299*d5c09012SAndroid Build Coastguard Worker // Required. ID of the Cloud project where the trace data is stored. 300*d5c09012SAndroid Build Coastguard Worker string project_id = 1 [(google.api.field_behavior) = REQUIRED]; 301*d5c09012SAndroid Build Coastguard Worker 302*d5c09012SAndroid Build Coastguard Worker // Required. The body of the message. 303*d5c09012SAndroid Build Coastguard Worker Traces traces = 2 [(google.api.field_behavior) = REQUIRED]; 304*d5c09012SAndroid Build Coastguard Worker} 305