blob: 33ea449b4962a9326293c4fbdd4ccc38646e98a8 [file] [log] [blame]
// 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 {
}