Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Please make the otel to xray mapping functionality callable in different contexts #980

Open
shorn opened this issue Dec 22, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@shorn
Copy link

shorn commented Dec 22, 2024

I understand this repo is about the Java agent, not about direct Otel SDK implementation.

But since you have to do the otel->xray mapping anyway, it'd be great if folks could add this repo as a dependency and re-use your mapping code to call the PutTraceSegments API from a custom OTel exporter.

Yes, it would be better for people who don't want to run an agent or collector to call the new OTLP endpoint directly - but the OTel folks will not implement the AWS specific functionality needed to do that into their SDK.

I'm fine with writing a custom OTel exporter to call PutTraceSegments directly, but the OTel->XRay mapping is tricky and if your mapping code where reusable in that context- it'd be a good win.

@srprash srprash added the enhancement New feature or request label Dec 30, 2024
@srprash
Copy link
Contributor

srprash commented Dec 30, 2024

Hi @shorn . Thanks for making this feature request. Currently the otel -> xray mapping is present in the Collector to make it available across all the ADOT/OTel SDK implementations. But I understand your problem where you don't want to run the Collector and to rather export the spans to X-Ray directly from the SDK itself.
Currently we don't have this feature on our roadmap, and there is a workaround that you may try in the meantime.

The PutTraceSegment API is capable of receiving protobuf encoded OTel spans as a payload. You can write a custom exporter similar to the OtlpUdpSpanExporter and instead of sending it over UDP, you can directly call the PutTraceSegments API.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants