diff --git a/envoy/config/trace/v3/xray.proto b/envoy/config/trace/v3/xray.proto index ba3fa66a..a904a108 100644 --- a/envoy/config/trace/v3/xray.proto +++ b/envoy/config/trace/v3/xray.proto @@ -5,6 +5,8 @@ package envoy.config.trace.v3; import "envoy/config/core/v3/address.proto"; import "envoy/config/core/v3/base.proto"; +import "google/protobuf/struct.proto"; + import "udpa/annotations/migrate.proto"; import "udpa/annotations/status.proto"; import "udpa/annotations/versioning.proto"; @@ -23,6 +25,15 @@ message XRayConfig { option (udpa.annotations.versioning).previous_message_type = "envoy.config.trace.v2alpha.XRayConfig"; + message SegmentFields { + // The type of AWS resource, e.g. "AWS::AppMesh::Proxy". + string origin = 1; + + // AWS resource metadata dictionary. + // See: `X-Ray Segment Document documentation `__ + google.protobuf.Struct aws = 2; + } + // The UDP endpoint of the X-Ray Daemon where the spans will be sent. // If this value is not set, the default value of 127.0.0.1:2000 will be used. core.v3.SocketAddress daemon_endpoint = 1; @@ -35,4 +46,9 @@ message XRayConfig { // `X-Ray SDK documentation // `_ core.v3.DataSource sampling_rule_manifest = 3; + + // Optional custom fields to be added to each trace segment. + // see: `X-Ray Segment Document documentation + // `__ + SegmentFields segment_fields = 4; } diff --git a/envoy/extensions/tracers/xray/v4alpha/xray.proto b/envoy/extensions/tracers/xray/v4alpha/xray.proto index 27a9b540..c21ce9a7 100644 --- a/envoy/extensions/tracers/xray/v4alpha/xray.proto +++ b/envoy/extensions/tracers/xray/v4alpha/xray.proto @@ -5,6 +5,8 @@ package envoy.extensions.tracers.xray.v4alpha; import "envoy/config/core/v4alpha/address.proto"; import "envoy/config/core/v4alpha/base.proto"; +import "google/protobuf/struct.proto"; + import "udpa/annotations/status.proto"; import "udpa/annotations/versioning.proto"; import "validate/validate.proto"; @@ -20,6 +22,18 @@ option (udpa.annotations.file_status).package_version_status = NEXT_MAJOR_VERSIO message XRayConfig { option (udpa.annotations.versioning).previous_message_type = "envoy.config.trace.v3.XRayConfig"; + message SegmentFields { + option (udpa.annotations.versioning).previous_message_type = + "envoy.config.trace.v3.XRayConfig.SegmentFields"; + + // The type of AWS resource, e.g. "AWS::AppMesh::Proxy". + string origin = 1; + + // AWS resource metadata dictionary. + // See: `X-Ray Segment Document documentation `__ + google.protobuf.Struct aws = 2; + } + // The UDP endpoint of the X-Ray Daemon where the spans will be sent. // If this value is not set, the default value of 127.0.0.1:2000 will be used. config.core.v4alpha.SocketAddress daemon_endpoint = 1; @@ -32,4 +46,9 @@ message XRayConfig { // `X-Ray SDK documentation // `_ config.core.v4alpha.DataSource sampling_rule_manifest = 3; + + // Optional custom fields to be added to each trace segment. + // see: `X-Ray Segment Document documentation + // `__ + SegmentFields segment_fields = 4; }