|
|
|
syntax = "proto3";
|
|
|
|
|
|
|
|
package envoy.config.trace.v2;
|
|
|
|
|
|
|
|
import "google/protobuf/wrappers.proto";
|
|
|
|
|
|
|
|
import "envoy/annotations/deprecation.proto";
|
|
|
|
import "udpa/annotations/status.proto";
|
|
|
|
import "validate/validate.proto";
|
|
|
|
|
|
|
|
option java_package = "io.envoyproxy.envoy.config.trace.v2";
|
|
|
|
option java_outer_classname = "ZipkinProto";
|
|
|
|
option java_multiple_files = true;
|
|
|
|
option go_package = "github.com/envoyproxy/go-control-plane/envoy/config/trace/v2;tracev2";
|
|
|
|
option (udpa.annotations.file_status).package_version_status = FROZEN;
|
|
|
|
|
|
|
|
// [#protodoc-title: Zipkin tracer]
|
|
|
|
|
|
|
|
// Configuration for the Zipkin tracer.
|
|
|
|
// [#extension: envoy.tracers.zipkin]
|
|
|
|
// [#next-free-field: 6]
|
|
|
|
message ZipkinConfig {
|
|
|
|
// Available Zipkin collector endpoint versions.
|
|
|
|
enum CollectorEndpointVersion {
|
|
|
|
// Zipkin API v1, JSON over HTTP.
|
|
|
|
// [#comment: The default implementation of Zipkin client before this field is added was only v1
|
|
|
|
// and the way user configure this was by not explicitly specifying the version. Consequently,
|
|
|
|
// before this is added, the corresponding Zipkin collector expected to receive v1 payload.
|
|
|
|
// Hence the motivation of adding HTTP_JSON_V1 as the default is to avoid a breaking change when
|
|
|
|
// user upgrading Envoy with this change. Furthermore, we also immediately deprecate this field,
|
|
|
|
// since in Zipkin realm this v1 version is considered to be not preferable anymore.]
|
|
|
|
HTTP_JSON_V1 = 0 [deprecated = true, (envoy.annotations.disallowed_by_default_enum) = true];
|
|
|
|
|
|
|
|
// Zipkin API v2, JSON over HTTP.
|
|
|
|
HTTP_JSON = 1;
|
|
|
|
|
|
|
|
// Zipkin API v2, protobuf over HTTP.
|
|
|
|
HTTP_PROTO = 2;
|
|
|
|
|
|
|
|
// [#not-implemented-hide:]
|
|
|
|
GRPC = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
// The cluster manager cluster that hosts the Zipkin collectors. Note that the
|
|
|
|
// Zipkin cluster must be defined in the :ref:`Bootstrap static cluster
|
|
|
|
// resources <envoy_api_field_config.bootstrap.v2.Bootstrap.StaticResources.clusters>`.
|
|
|
|
string collector_cluster = 1 [(validate.rules).string = {min_bytes: 1}];
|
|
|
|
|
|
|
|
// The API endpoint of the Zipkin service where the spans will be sent. When
|
|
|
|
// using a standard Zipkin installation, the API endpoint is typically
|
|
|
|
// /api/v1/spans, which is the default value.
|
|
|
|
string collector_endpoint = 2 [(validate.rules).string = {min_bytes: 1}];
|
|
|
|
|
|
|
|
// Determines whether a 128bit trace id will be used when creating a new
|
|
|
|
// trace instance. The default value is false, which will result in a 64 bit trace id being used.
|
|
|
|
bool trace_id_128bit = 3;
|
|
|
|
|
|
|
|
// Determines whether client and server spans will share the same span context.
|
|
|
|
// The default value is true.
|
|
|
|
google.protobuf.BoolValue shared_span_context = 4;
|
|
|
|
|
|
|
|
// Determines the selected collector endpoint version. By default, the ``HTTP_JSON_V1`` will be
|
|
|
|
// used.
|
|
|
|
CollectorEndpointVersion collector_endpoint_version = 5;
|
|
|
|
}
|