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