diff --git a/envoy/config/trace/v2/trace.proto b/envoy/config/trace/v2/trace.proto index d4ca225a..9ea6979b 100644 --- a/envoy/config/trace/v2/trace.proto +++ b/envoy/config/trace/v2/trace.proto @@ -6,6 +6,7 @@ option java_outer_classname = "TraceProto"; option java_multiple_files = true; option java_package = "io.envoyproxy.envoy.config.trace.v2"; +import "envoy/api/v2/core/base.proto"; import "envoy/api/v2/core/grpc_service.proto"; import "google/protobuf/any.proto"; @@ -34,6 +35,7 @@ message Tracing { // - *envoy.dynamic.ot* // - *envoy.tracers.datadog* // - *envoy.tracers.opencensus* + // - *envoy.tracers.xray* string name = 1 [(validate.rules).string = {min_bytes: 1}]; // Trace driver specific configuration which depends on the driver being instantiated. @@ -44,6 +46,8 @@ message Tracing { // - :ref:`DynamicOtConfig ` // - :ref:`DatadogConfig ` // - :ref:`OpenCensusConfig ` + // [#comment: TODO(marco) when XRay is implemented, uncomment the following; - :ref:`XRayConfig + // `] oneof config_type { google.protobuf.Struct config = 2; @@ -199,6 +203,20 @@ message OpenCensusConfig { repeated TraceContext outgoing_trace_context = 9; } +// [#not-implemented-hide:] +// Configuration for AWS X-Ray tracer. +message XRayConfig { + // The endpoint of the X-Ray Daemon where the spans will be sent. Since by default daemon + // listens to localhost:2000, so the default value is 127.0.0.1:2000. + string daemon_endpoint = 1 [(validate.rules).string = {min_bytes: 1}]; + + // The custom name to name a X-Ray segment. By default will use cluster name. + string segment_name = 2; + + // The location of custom sampling rule json file. + api.v2.core.DataSource sampling_rule_manifest = 3; +} + // Configuration structure. message TraceServiceConfig { // The upstream gRPC cluster that hosts the metrics service. diff --git a/envoy/config/trace/v3alpha/trace.proto b/envoy/config/trace/v3alpha/trace.proto index bdc4e8de..da396f87 100644 --- a/envoy/config/trace/v3alpha/trace.proto +++ b/envoy/config/trace/v3alpha/trace.proto @@ -6,6 +6,7 @@ option java_outer_classname = "TraceProto"; option java_multiple_files = true; option java_package = "io.envoyproxy.envoy.config.trace.v3alpha"; +import "envoy/api/v3alpha/core/base.proto"; import "envoy/api/v3alpha/core/grpc_service.proto"; import "google/protobuf/any.proto"; @@ -34,6 +35,7 @@ message Tracing { // - *envoy.dynamic.ot* // - *envoy.tracers.datadog* // - *envoy.tracers.opencensus* + // - *envoy.tracers.xray* string name = 1 [(validate.rules).string = {min_bytes: 1}]; // Trace driver specific configuration which depends on the driver being instantiated. @@ -44,6 +46,8 @@ message Tracing { // - :ref:`DynamicOtConfig ` // - :ref:`DatadogConfig ` // - :ref:`OpenCensusConfig ` + // [#comment: TODO(marco) when XRay is implemented, uncomment the following; - :ref:`XRayConfig + // `] oneof config_type { google.protobuf.Struct config = 2; @@ -199,6 +203,20 @@ message OpenCensusConfig { repeated TraceContext outgoing_trace_context = 9; } +// [#not-implemented-hide:] +// Configuration for AWS X-Ray tracer. +message XRayConfig { + // The endpoint of the X-Ray Daemon where the spans will be sent. Since by default daemon + // listens to localhost:2000, so the default value is 127.0.0.1:2000. + string daemon_endpoint = 1 [(validate.rules).string = {min_bytes: 1}]; + + // The custom name to name a X-Ray segment. By default will use cluster name. + string segment_name = 2; + + // The location of custom sampling rule json file. + api.v3alpha.core.DataSource sampling_rule_manifest = 3; +} + // Configuration structure. message TraceServiceConfig { // The upstream gRPC cluster that hosts the metrics service.