| // Copyright 2018, OpenCensus Authors |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| syntax = "proto3"; |
| |
| // NOTE: This proto is experimental and is subject to change at this point. |
| // Please do not use it at the moment. |
| |
| package opencensus.proto.agent.trace.v1; |
| |
| import "opencensus/proto/agent/common/v1/common.proto"; |
| import "opencensus/proto/trace/v1/trace.proto"; |
| import "opencensus/proto/trace/v1/trace_config.proto"; |
| |
| option java_multiple_files = true; |
| option java_package = "io.opencensus.proto.agent.trace.v1"; |
| option java_outer_classname = "TraceServiceProto"; |
| |
| option go_package = "github.com/census-instrumentation/opencensus-proto/gen-go/agent/trace/v1"; |
| |
| service TraceService { |
| // After initialization, this RPC must be kept alive for the |
| // entire life of the application. The agent pushes configs |
| // down to applications via a stream of requests. |
| rpc Config(stream ConfigTraceServiceResponse) returns (stream ConfigTraceServiceRequest) {} |
| |
| // Allows applications to send spans to the agent. |
| // For performance reasons, it is recommended to keep this RPC |
| // alive for the entire life of the application. |
| rpc Export(stream ExportTraceServiceRequest) returns (stream ExportTraceServiceResponse) {} |
| } |
| |
| message ConfigTraceServiceRequest { |
| // Identifier data effectively is a structured metadata. |
| // This is required only in the first message on the stream. |
| opencensus.proto.agent.common.v1.Node node = 1; |
| |
| // Current configuration. |
| opencensus.proto.trace.v1.TraceConfig config = 2; |
| } |
| |
| message ConfigTraceServiceResponse { |
| // Requested updated configuration. |
| opencensus.proto.trace.v1.TraceConfig config = 2; |
| } |
| |
| message ExportTraceServiceRequest { |
| // Identifier data effectively is a structured metadata. |
| // This is required only in the first message on the stream. |
| opencensus.proto.agent.common.v1.Node node = 1; |
| |
| repeated opencensus.proto.trace.v1.Span spans = 2; |
| } |
| |
| message ExportTraceServiceResponse { |
| } |