xref: /aosp_15_r20/external/grpc-grpc-java/xds/third_party/envoy/src/main/proto/envoy/config/trace/v2/zipkin.proto (revision e07d83d3ffcef9ecfc9f7f475418ec639ff0e5fe)
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