Skeleton of a tracer for AWS X-Ray (#8526)

A skeleton tracer to incrementally add support for AWS X-Ray

Risk Level: Low
Testing: unit tests for functionality in util - the rest of files have no business logic to test yet

Signed-off-by: Marco Magdy <mmagdy@gmail.com>

Mirrored from https://github.com/envoyproxy/envoy @ f68368f1a497d8f9254a714c2694cee88477438d
master-ci-test
data-plane-api(CircleCI) 5 years ago
parent 0e936d58e2
commit a9d3d978e6
  1. 18
      envoy/config/trace/v2/trace.proto
  2. 18
      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.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 <envoy_api_msg_config.trace.v2.DynamicOtConfig>`
// - :ref:`DatadogConfig <envoy_api_msg_config.trace.v2.DatadogConfig>`
// - :ref:`OpenCensusConfig <envoy_api_msg_config.trace.v2.OpenCensusConfig>`
// [#comment: TODO(marco) when XRay is implemented, uncomment the following; - :ref:`XRayConfig
// <envoy_api_msg_config.trace.v2.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.

@ -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 <envoy_api_msg_config.trace.v3alpha.DynamicOtConfig>`
// - :ref:`DatadogConfig <envoy_api_msg_config.trace.v3alpha.DatadogConfig>`
// - :ref:`OpenCensusConfig <envoy_api_msg_config.trace.v3alpha.OpenCensusConfig>`
// [#comment: TODO(marco) when XRay is implemented, uncomment the following; - :ref:`XRayConfig
// <envoy_api_msg_config.trace.v3alpha.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.

Loading…
Cancel
Save