envoyproxy / envoyproxy/envoy

XRayConfig_SegmentFields can't be configured correctly from an xDS control plane

Open
#31,142 2 comments 1 reaction 0 assignees View on GitHub
area/aws area/tracing enhancement help wanted
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 20h
Merged PRs (30d)
437

Description

*Title*: *XRayConfig_SegmentFields can't be configured correctly from an xDS control plane*

*Description*:

Currently the `XRayConfig_SegmentFields.Origin` and `XRayConfig_SegmentFields.Aws` fields will allow configuring that the trace segment comes from the correct `origin` as per the Optional Segment Fields in the AWS Segment fields documentation.

The `aws` object that needs to be sent to make this `origin` be considered valid requires the following data:

```
ecs – Information about an Amazon ECS container.
- container – The hostname of your container.
- container_id – The full container ID of your container.
- container_arn – The ARN of your container instance.
```

This is possible to do using sed and yaml on statically configured envoy hosts.

However, **an xDS server cannot populate this with meaningful data** and it should be handled internally by envoy's XRay tracing features. I believe that detecting the correct data should be up to each individual envoy proxy at runtime, and should not be configurable here either in the yaml or in the xDS gRPC structs.

*Relevant Links*:
- https://github.com/envoyproxy/go-control-plane/blob/main/envoy/config/trace/v3/xray.pb.go#L109
- https://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html#api-segmentdocuments-fields

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.