...
1syntax = "proto3";
2
3package envoy.extensions.tracers.skywalking.v4alpha;
4
5import "envoy/config/core/v4alpha/grpc_service.proto";
6
7import "google/protobuf/wrappers.proto";
8
9import "udpa/annotations/sensitive.proto";
10import "udpa/annotations/status.proto";
11import "udpa/annotations/versioning.proto";
12import "validate/validate.proto";
13
14option java_package = "io.envoyproxy.envoy.extensions.tracers.skywalking.v4alpha";
15option java_outer_classname = "SkywalkingProto";
16option java_multiple_files = true;
17option (udpa.annotations.file_status).package_version_status = NEXT_MAJOR_VERSION_CANDIDATE;
18
19// [#protodoc-title: SkyWalking tracer]
20
21// Configuration for the SkyWalking tracer. Please note that if SkyWalking tracer is used as the
22// provider of http tracer, then
23// :ref:`start_child_span <envoy_v3_api_field_extensions.filters.http.router.v3.Router.start_child_span>`
24// in the router must be set to true to get the correct topology and tracing data. Moreover, SkyWalking
25// Tracer does not support SkyWalking extension header (``sw8-x``) temporarily.
26// [#extension: envoy.tracers.skywalking]
27message SkyWalkingConfig {
28 option (udpa.annotations.versioning).previous_message_type =
29 "envoy.config.trace.v3.SkyWalkingConfig";
30
31 // SkyWalking collector service.
32 config.core.v4alpha.GrpcService grpc_service = 1 [(validate.rules).message = {required: true}];
33
34 ClientConfig client_config = 2;
35}
36
37// Client config for SkyWalking tracer.
38message ClientConfig {
39 option (udpa.annotations.versioning).previous_message_type = "envoy.config.trace.v3.ClientConfig";
40
41 // Service name for SkyWalking tracer. If this field is empty, then local service cluster name
42 // that configured by :ref:`Bootstrap node <envoy_v3_api_field_config.bootstrap.v3.Bootstrap.node>`
43 // message's :ref:`cluster <envoy_v3_api_field_config.core.v3.Node.cluster>` field or command line
44 // option :option:`--service-cluster` will be used. If both this field and local service cluster
45 // name are empty, ``EnvoyProxy`` is used as the service name by default.
46 string service_name = 1;
47
48 // Service instance name for SkyWalking tracer. If this field is empty, then local service node
49 // that configured by :ref:`Bootstrap node <envoy_v3_api_field_config.bootstrap.v3.Bootstrap.node>`
50 // message's :ref:`id <envoy_v3_api_field_config.core.v3.Node.id>` field or command line option
51 // :option:`--service-node` will be used. If both this field and local service node are empty,
52 // ``EnvoyProxy`` is used as the instance name by default.
53 string instance_name = 2;
54
55 // Authentication token config for SkyWalking. SkyWalking can use token authentication to secure
56 // that monitoring application data can be trusted. In current version, Token is considered as a
57 // simple string.
58 // [#comment:TODO(wbpcode): Get backend token through the SDS API.]
59 oneof backend_token_specifier {
60 // Inline authentication token string.
61 string backend_token = 3 [(udpa.annotations.sensitive) = true];
62 }
63
64 // Envoy caches the segment in memory when the SkyWalking backend service is temporarily unavailable.
65 // This field specifies the maximum number of segments that can be cached. If not specified, the
66 // default is 1024.
67 google.protobuf.UInt32Value max_cache_size = 4;
68}
View as plain text