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