When is XRay going to support W3C Trace Context standard headers?

0

I was reading about the standardization efforts around distributed tracing, in particular, this document:
https://www.w3.org/TR/trace-context/

While looking at AWS XRay's implementation, it seems to be going completely custom, with custom HTTP Headers, and custom formating of the hierarchy IDs.

When is XRay going to switch to a more standardized format that is compatible with other systems that also implement that standard?

I found this project when randomly searching for this topic:
https://aws-otel.github.io/

I don't quite understand what that is and why it even coexists with XRay.

Would appreciate clarification here.

asked 3 years ago1364 views
4 Answers
0
Accepted Answer

Hi @julealgon,
You're right that X-Ray uses custom id format that is different from the w3c format. This has been in the design since X-Ray's inception for some functional reasons. Since, the custom id format is deeply embedded within the X-Ray architecture, the change to the standardized format is very non-trivial and not on the roadmap for any time soon.
That being said, X-Ray now does support traces generated by an OpenTelemetry SDKs that generate w3c format trace ids. You'll need to use the AWS Distro for OpenTelemetry Collector for sending the w3c format traces to X-Ray. More of it here: https://aws-otel.github.io/docs/getting-started/collector . There are more components available as part of AWS Distro for OpenTelemetry to let you use OpenTelemetry SDK with X-Ray service as the tracing backend. You don't need X-Ray SDKs for application in that case. You can find all the information about the AWS X-Ray OpenTelemetry support at https://aws-otel.github.io/
Hope this clears up your confusion. Also, could you give us an overview of your use case of having w3c standard ids with X-Ray?

AWS
answered 3 years ago
0

Thanks for clarifying @prashataws.

It's unfortunate to hear there are no current plans to make X-Ray standards-compliant.

As for using aws-otel, as far as I understand it, it is currently not an option for us since we are using the .Net stack and that doesn't seem to be supported.

Lastly, on the use-case question, there is no use-case per se, I just wanted to make our solution as future proof as possible and as decoupled from proprietary implementations as possible. The question came to mind after I started investigating X-Ray integration in one of our projects.

answered 3 years ago
0

Hey julealgon,

Support for X-Ray for OpenTelemetry .NET is in our backlog and is currently under constructing, you may come back later to check.

aws-lu
answered 3 years ago
0

X-Ray now supports W3C trace id (in X-Ray's text format), the AWS X-Ray exporter in OpenTelemetry Collector will do the convert automatically when sending data to X-Ray. https://aws.amazon.com/about-aws/whats-new/2023/10/aws-x-ray-w3c-format-trace-ids-distributed-tracing/

For trace propagation and X-Ray integrated AWS services such as Lambda, you still need to use the X-Ray specific HTTP headers via the X-Ray propagator in OpenTelemetry SDK or use X-Ray SDK.

AWS
pinglei
answered 6 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions