dd-trace-js
dd-trace-js copied to clipboard
Support AWS SDK v3
The AWS SDK v3 release went stable in December. It would be interesting to see support for it. Though, I'm not sure how easy such a feat would be. It's no longer a single package.
https://github.com/aws/aws-sdk-js-v3/releases/tag/v3.0.0
https://aws.amazon.com/blogs/developer/modular-aws-sdk-for-javascript-is-now-generally-available/
We're actively working on it! The main issue is distributed tracing which is not trivial with the new API, but otherwise things are looking good so far.
Awesome! Glad to hear it is being worked on. I just learned about the general availability this morning. So I was doing a little due diligence on feasibility of usage.
@rochdev (or anyone really) Is there any update on instrumentation for V3 of the AWS javascript SDKs, or are you'all still in a "actively working on it" phase? No worries either way, just trying to get a feel for whether on not we can expect this soon or if it's best to assume it won't be coming out and sticking to the V2 APIs.
@astorm We've had a few setbacks that have slowed down the work on this, but it's still one of the next features we want to ship. Right now we're focusing on 1.0 which might change a little bit how the trace data is structured, but this is definitely a priority for APM as well as Serverless afterwards. The conservative answer would be this year, but we're aiming for Q3.
@rochdev any updates on this one?
@bigkraig There are a few challenges to support this properly, but we're planning to work on it this quarter.
@rochdev any news on this?
@bigkraig My credibility for a timeline is pretty much non-existant at this point in this thread, but I can at least say that we're actively working on it right now.
@rochdev any news on this?
We've switched our focus to some other work that will impact aws-sdk v2 so we've put the aws-sdk v3 work on hold for the time being. We do plan to resume that work during this quarter.
What would you suggest as a workaround in the meantime? Using aws-xray-sdk to wrap any v3 clients?
Hi, any news on how this one is coming along?
On the docs there is this column "support type" wich is full or beta for most of cases. Would it be this hard to deliver a partial support to at least the most used clients (I'm not sure wich ones first, maybe s3, dynamodb, lambda, ec2, athena, kinesis, ses, sns, mq...)?
The lack of support is not holding me from using, but it would be great to have some analytics on this.
I was wondering if there is an update on this? We are working on v3 and would love to see distributed tracing for our producer-consumer pattern (currently no tracing/correlation of the logs on the consuming part) Thank you!!
This task is one of our goals for the current Q4 and will hopefully be ready by the end of the year.
This is what we want for Christmas 2022. Thanks!
Maybe before the Chinese New Year? 😅
@automartin5000 Sorry for the delay, definitely my fault 😅 I got sick before the holidays and then I was out for the holidays so I ended up a bit behind on schedule, but as soon as I'm caught up with everything I missed for the past few weeks I'm resuming the work on this.
Incredible 🥳
Awesome thank you @rochdev!! Just curiously, what's the release cadence/process for this library, or when do we expect this to be included in a release? Anxious to start leveraging this ASAP :)
@smcroskey We don't really have a specific cadence, but we usually release every few days at most, so you can expect a release soon!
@rochdev Thanks again for getting this done 💪
@astuyve Where can we track when this is released in the Lambda layer?
This is now released in 6.87.0 and Layer version 87
@astuyve @rochdev I just deployed a version of our code with the new Lambda layer and our traces for AWS SDK calls are still showing http.request instead of dynamodb.command or whatever. I do note that we seem to not be seeing service to service traces either for our Node serverless functions, so I'm not sure if that's related. But I wanted to check if it's a misconfiguration, if that's expected, or if it's a bug. Thanks!
@astuyve @rochdev I just deployed a version of our code with the new Lambda layer and our traces for AWS SDK calls are still showing
http.requestinstead ofdynamodb.commandor whatever. I do note that we seem to not be seeing service to service traces either for our Node serverless functions, so I'm not sure if that's related. But I wanted to check if it's a misconfiguration, if that's expected, or if it's a bug. Thanks!
Maybe open a new issue on the appropriate repo and leave this one for the original topic?
@astuyve @rochdev I just deployed a version of our code with the new Lambda layer and our traces for AWS SDK calls are still showing
http.requestinstead ofdynamodb.commandor whatever. I do note that we seem to not be seeing service to service traces either for our Node serverless functions, so I'm not sure if that's related. But I wanted to check if it's a misconfiguration, if that's expected, or if it's a bug. Thanks!Maybe open a new issue on the appropriate repo and leave this one for the original topic?
Well if the PR didn’t add support for AWS SDK v3, then I’d say it is relevant to this issue and maybe it should be reopened. Otherwise, if it’s something specific to me, then I’m happy to open a new issue. That’s what I’m trying to figure out.
@automartin5000 just had the same, doesn't work until you mark each individual aws sdk v3 client library you use as external before it works.
I'm on node18 where aws sdk v3 is part of the default layer.
Might not be completely the same for you but at least that did the trick for me.