syntax = "proto3"; package envoy.config.trace.v3; import "envoy/config/core/v3/grpc_service.proto"; import "google/protobuf/wrappers.proto"; import "udpa/annotations/migrate.proto"; import "udpa/annotations/sensitive.proto"; import "udpa/annotations/status.proto"; import "validate/validate.proto"; option java_package = "io.envoyproxy.envoy.config.trace.v3"; option java_outer_classname = "SkywalkingProto"; option java_multiple_files = true; option (udpa.annotations.file_migrate).move_to_package = "envoy.extensions.tracers.skywalking.v4alpha"; option (udpa.annotations.file_status).package_version_status = ACTIVE; // [#protodoc-title: SkyWalking tracer] // Configuration for the SkyWalking tracer. Please note that if SkyWalking tracer is used as the // provider of http tracer, then // :ref:`start_child_span ` // in the router must be set to true to get the correct topology and tracing data. Moreover, SkyWalking // Tracer does not support SkyWalking extension header (``sw8-x``) temporarily. // [#extension: envoy.tracers.skywalking] message SkyWalkingConfig { // SkyWalking collector service. core.v3.GrpcService grpc_service = 1 [(validate.rules).message = {required: true}]; ClientConfig client_config = 2; } // Client config for SkyWalking tracer. message ClientConfig { // Service name for SkyWalking tracer. If this field is empty, then local service cluster name // that configured by :ref:`Bootstrap node ` // message's :ref:`cluster ` field or command line // option :option:`--service-cluster` will be used. If both this field and local service cluster // name are empty, ``EnvoyProxy`` is used as the service name by default. string service_name = 1; // Service instance name for SkyWalking tracer. If this field is empty, then local service node // that configured by :ref:`Bootstrap node ` // message's :ref:`id ` field or command line option // :option:`--service-node` will be used. If both this field and local service node are empty, // ``EnvoyProxy`` is used as the instance name by default. string instance_name = 2; // Authentication token config for SkyWalking. SkyWalking can use token authentication to secure // that monitoring application data can be trusted. In current version, Token is considered as a // simple string. // [#comment:TODO(wbpcode): Get backend token through the SDS API.] oneof backend_token_specifier { // Inline authentication token string. string backend_token = 3 [(udpa.annotations.sensitive) = true]; } // Envoy caches the segment in memory when the SkyWalking backend service is temporarily unavailable. // This field specifies the maximum number of segments that can be cached. If not specified, the // default is 1024. google.protobuf.UInt32Value max_cache_size = 4; }