-
Notifications
You must be signed in to change notification settings - Fork 156
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
Improve support for AWS SDK v3 #547
Comments
We really need better X-Ray support for SDK v3. Especially since ADOT is currently borderline unusable, despite it being recommended at the top of |
Hello, Thanks for raising this issue, I'll try to address both issues:
This is unfortunately a limitation of the AWS SDK v3 itself. The V3 middleware exposes much less data than v2 did, and as such our instrumentation can only read the basic attributes you see today. This limitation exists in ADOT as well, and I would suggest opening an issue against the aws-sdk-js-v3 repo to suggest exposing this info more readily.
This is a known issue and #449 was an attempt to fix it, but unfortunately there were issues with the fix and we were not able to prioritize it since. Once we are able to take another look we can track it here. |
|
Hey, @carolabadeer. Given the performance issues with OpenTelemetry noted in this comment, would you consider making the changes to capture additional metadata in the traces here? |
This would also improve the usability of the Powertools library maintained by AWS, as that is built on top of the X-Ray Node SDK. |
Copying the comment left on the sdk issue here since that was closed: Hi @RanVaknin and @carolabadeer, Unfortunately, the OpenTelemetry JS SDK is not suitable in Lambda for most production use-cases. It comes with a massive performance and latency penalty. It's a complete non-starter to add tracing through it when the overhead is so large. Related issues showing that this is still a problem today: aws-observability/aws-otel-lambda#228 This is even highlighted in the official service docs for X-Ray:
|
@carolabadeer @willarmiros so what's the status here? We really need a better support on AWS SDKv3 for Xray it is nearly unusable in its current state. It would help our company a lot if we get a solution soon. |
For me here, I included it wrapping all of aws-sdk v3 clients, but the main issue is that it requires "aws-sdk" in the runtime, forcing me to add it on the build only for this dep. |
How is this related to the issue aka access of data from the middleware stack? |
Hi all - happy to share with all of you that support for additional attributes in the AWS SDK v3 instrumentation has been released in v3.5.2! The newest version also includes the fix for the TS errors that would occur when using Please check out the newest version and let us know if you are still running into any problems. Since the two issues reported initially have been addressed, I'll close out this issue as resolved! |
I think this still isn't fixed. Using: I still don't get any data besides operation and tablename for a DynamoDB call. |
In the recent release of the Node.js v18 runtime on Lambda, the embedded SDK has been upgraded to v3: https://aws.amazon.com/blogs/compute/node-js-18-x-runtime-now-available-in-aws-lambda/
The current state of v3 support in aws-xray-sdk-node appears to be rather patchy. e.g.
captureAWSv3Client
throws TypeScript errors. In fact, the only client I've found that works without a TS error isAWSXRay.captureAWSv3Client(new S3Client({}))
I was wondering if the team were aware of the shift to v3 in the latest lambda runtime environmnent, and whether this may translate to improved support for v3 by the Xray SDK? Thanks for reading!
The text was updated successfully, but these errors were encountered: