1*d5c09012SAndroid Build Coastguard Worker// Copyright 2022 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.v2; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/devtools/cloudtrace/v2/trace.proto"; 24*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto"; 25*d5c09012SAndroid Build Coastguard Worker 26*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.Trace.V2"; 27*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/trace/apiv2/tracepb;tracepb"; 28*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 29*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "TracingProto"; 30*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.devtools.cloudtrace.v2"; 31*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\Trace\\V2"; 32*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::Trace::V2"; 33*d5c09012SAndroid Build Coastguard Worker 34*d5c09012SAndroid Build Coastguard Worker// Service for collecting and viewing traces and spans within a trace. 35*d5c09012SAndroid Build Coastguard Worker// 36*d5c09012SAndroid Build Coastguard Worker// A trace is a collection of spans corresponding to a single 37*d5c09012SAndroid Build Coastguard Worker// operation or a set of operations in an application. 38*d5c09012SAndroid Build Coastguard Worker// 39*d5c09012SAndroid Build Coastguard Worker// A span is an individual timed event which forms a node of the trace tree. 40*d5c09012SAndroid Build Coastguard Worker// A single trace can contain spans from multiple services. 41*d5c09012SAndroid Build Coastguard Workerservice TraceService { 42*d5c09012SAndroid Build Coastguard Worker option (google.api.default_host) = "cloudtrace.googleapis.com"; 43*d5c09012SAndroid Build Coastguard Worker option (google.api.oauth_scopes) = 44*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/cloud-platform," 45*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/trace.append"; 46*d5c09012SAndroid Build Coastguard Worker 47*d5c09012SAndroid Build Coastguard Worker // Batch writes new spans to new or existing traces. You cannot update 48*d5c09012SAndroid Build Coastguard Worker // existing spans. 49*d5c09012SAndroid Build Coastguard Worker rpc BatchWriteSpans(BatchWriteSpansRequest) returns (google.protobuf.Empty) { 50*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 51*d5c09012SAndroid Build Coastguard Worker post: "/v2/{name=projects/*}/traces:batchWrite" 52*d5c09012SAndroid Build Coastguard Worker body: "*" 53*d5c09012SAndroid Build Coastguard Worker }; 54*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name,spans"; 55*d5c09012SAndroid Build Coastguard Worker } 56*d5c09012SAndroid Build Coastguard Worker 57*d5c09012SAndroid Build Coastguard Worker // Creates a new span. 58*d5c09012SAndroid Build Coastguard Worker rpc CreateSpan(Span) returns (Span) { 59*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 60*d5c09012SAndroid Build Coastguard Worker post: "/v2/{name=projects/*/traces/*/spans/*}" 61*d5c09012SAndroid Build Coastguard Worker body: "*" 62*d5c09012SAndroid Build Coastguard Worker }; 63*d5c09012SAndroid Build Coastguard Worker } 64*d5c09012SAndroid Build Coastguard Worker} 65*d5c09012SAndroid Build Coastguard Worker 66*d5c09012SAndroid Build Coastguard Worker// The request message for the `BatchWriteSpans` method. 67*d5c09012SAndroid Build Coastguard Workermessage BatchWriteSpansRequest { 68*d5c09012SAndroid Build Coastguard Worker // Required. The name of the project where the spans belong. The format is 69*d5c09012SAndroid Build Coastguard Worker // `projects/[PROJECT_ID]`. 70*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 71*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 72*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 73*d5c09012SAndroid Build Coastguard Worker type: "cloudresourcemanager.googleapis.com/Project" 74*d5c09012SAndroid Build Coastguard Worker } 75*d5c09012SAndroid Build Coastguard Worker ]; 76*d5c09012SAndroid Build Coastguard Worker 77*d5c09012SAndroid Build Coastguard Worker // Required. A list of new spans. The span names must not match existing 78*d5c09012SAndroid Build Coastguard Worker // spans, otherwise the results are undefined. 79*d5c09012SAndroid Build Coastguard Worker repeated Span spans = 2 [(google.api.field_behavior) = REQUIRED]; 80*d5c09012SAndroid Build Coastguard Worker} 81