dd-trace-js icon indicating copy to clipboard operation
dd-trace-js copied to clipboard

Support AWS SDK v3

Open jsumners opened this issue 4 years ago • 14 comments

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/

jsumners avatar Jan 22 '21 14:01 jsumners

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.

rochdev avatar Jan 22 '21 15:01 rochdev

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.

jsumners avatar Jan 22 '21 15:01 jsumners

@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 avatar Jun 17 '21 22:06 astorm

@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 avatar Jun 17 '21 22:06 rochdev

@rochdev any updates on this one?

bigkraig avatar Oct 15 '21 20:10 bigkraig

@bigkraig There are a few challenges to support this properly, but we're planning to work on it this quarter.

rochdev avatar Oct 19 '21 14:10 rochdev

@rochdev any news on this?

bigkraig avatar Jan 26 '22 22:01 bigkraig

@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 avatar Jan 27 '22 01:01 rochdev

@rochdev any news on this?

ShukiPesso avatar Apr 04 '22 05:04 ShukiPesso

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.

rochdev avatar Apr 04 '22 13:04 rochdev

What would you suggest as a workaround in the meantime? Using aws-xray-sdk to wrap any v3 clients?

beeequeue avatar May 10 '22 16:05 beeequeue

Hi, any news on how this one is coming along?

dforsl avatar Aug 03 '22 09:08 dforsl

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.

wregis avatar Aug 10 '22 16:08 wregis

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!!

Treparme avatar Aug 27 '22 16:08 Treparme

This task is one of our goals for the current Q4 and will hopefully be ready by the end of the year.

tlhunter avatar Nov 15 '22 19:11 tlhunter

This is what we want for Christmas 2022. Thanks!

blytheaw avatar Dec 16 '22 21:12 blytheaw

Maybe before the Chinese New Year? 😅

automartin5000 avatar Jan 15 '23 03:01 automartin5000

@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.

rochdev avatar Jan 16 '23 16:01 rochdev

Incredible 🥳

matray avatar Feb 10 '23 20:02 matray

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 avatar Feb 13 '23 19:02 smcroskey

@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 avatar Feb 13 '23 22:02 rochdev

@rochdev Thanks again for getting this done 💪

automartin5000 avatar Feb 14 '23 00:02 automartin5000

AWS SDK V3 support is now available in 3.14.0 and 2.27.0

astuyve avatar Feb 17 '23 19:02 astuyve

AWS SDK V3 support is now available in 3.14.0 and 2.27.0

@astuyve Where can we track when this is released in the Lambda layer?

blytheaw avatar Feb 20 '23 15:02 blytheaw

Hi @blytheaw - I merged it on friday, it'll go out tomorrow.

Thanks!

astuyve avatar Feb 20 '23 15:02 astuyve

This is now released in 6.87.0 and Layer version 87

astuyve avatar Feb 21 '23 15:02 astuyve

@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!

automartin5000 avatar Feb 24 '23 04:02 automartin5000

@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!

Maybe open a new issue on the appropriate repo and leave this one for the original topic?

jsumners avatar Feb 24 '23 13:02 jsumners

@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!

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 avatar Feb 24 '23 14:02 automartin5000

@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.

teyckmans avatar Mar 16 '23 11:03 teyckmans