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