1syntax = "proto3"; 2 3package envoy.config.trace.v2; 4 5import "google/protobuf/wrappers.proto"; 6 7import "envoy/annotations/deprecation.proto"; 8import "udpa/annotations/status.proto"; 9import "validate/validate.proto"; 10 11option java_package = "io.envoyproxy.envoy.config.trace.v2"; 12option java_outer_classname = "ZipkinProto"; 13option java_multiple_files = true; 14option go_package = "github.com/envoyproxy/go-control-plane/envoy/config/trace/v2;tracev2"; 15option (udpa.annotations.file_status).package_version_status = FROZEN; 16 17// [#protodoc-title: Zipkin tracer] 18 19// Configuration for the Zipkin tracer. 20// [#extension: envoy.tracers.zipkin] 21// [#next-free-field: 6] 22message ZipkinConfig { 23 // Available Zipkin collector endpoint versions. 24 enum CollectorEndpointVersion { 25 // Zipkin API v1, JSON over HTTP. 26 // [#comment: The default implementation of Zipkin client before this field is added was only v1 27 // and the way user configure this was by not explicitly specifying the version. Consequently, 28 // before this is added, the corresponding Zipkin collector expected to receive v1 payload. 29 // Hence the motivation of adding HTTP_JSON_V1 as the default is to avoid a breaking change when 30 // user upgrading Envoy with this change. Furthermore, we also immediately deprecate this field, 31 // since in Zipkin realm this v1 version is considered to be not preferable anymore.] 32 HTTP_JSON_V1 = 0 [deprecated = true, (envoy.annotations.disallowed_by_default_enum) = true]; 33 34 // Zipkin API v2, JSON over HTTP. 35 HTTP_JSON = 1; 36 37 // Zipkin API v2, protobuf over HTTP. 38 HTTP_PROTO = 2; 39 40 // [#not-implemented-hide:] 41 GRPC = 3; 42 } 43 44 // The cluster manager cluster that hosts the Zipkin collectors. Note that the 45 // Zipkin cluster must be defined in the :ref:`Bootstrap static cluster 46 // resources <envoy_api_field_config.bootstrap.v2.Bootstrap.StaticResources.clusters>`. 47 string collector_cluster = 1 [(validate.rules).string = {min_bytes: 1}]; 48 49 // The API endpoint of the Zipkin service where the spans will be sent. When 50 // using a standard Zipkin installation, the API endpoint is typically 51 // /api/v1/spans, which is the default value. 52 string collector_endpoint = 2 [(validate.rules).string = {min_bytes: 1}]; 53 54 // Determines whether a 128bit trace id will be used when creating a new 55 // trace instance. The default value is false, which will result in a 64 bit trace id being used. 56 bool trace_id_128bit = 3; 57 58 // Determines whether client and server spans will share the same span context. 59 // The default value is true. 60 google.protobuf.BoolValue shared_span_context = 4; 61 62 // Determines the selected collector endpoint version. By default, the ``HTTP_JSON_V1`` will be 63 // used. 64 CollectorEndpointVersion collector_endpoint_version = 5; 65} 66