-
Notifications
You must be signed in to change notification settings - Fork 1
Add Swift Lambda Runtime (and XRay) use case #36
Comments
Yup! FYI @fabianfett @tomerd |
Just looked up the XRay tracing deamons api. Looks like it is just JSON over UDP. To get it into JSON without using Foundation this might be a good starting point: @slashmo @ktoso I sadly haven't followed the two off you to closely... Is there already a protocol to implement for Tracing Backends? JSON over UDP sounds like a fun challenge for me. I haven't set up a channel pipeline yet, but this sounds like a good first time. |
Cool, very nice that it's so simple.
It's a bit to early to point at specifics, but yes there will be. Today we only have instruments which are about extracting/injecting metadata into a baggage context object (i.e. from headers -> baggage -> outgoing headers when making requests); We don't have the Tracer "shape" yet. I guess there's a difference between "lambda lib uses baggage context" and "there is an XRay tracing backend" :-) This was more about the prior, but yes the latter will be a goal as well eventually! No action required from you, just FYI that we're looking at the Lambda lib as one of the use cases :) |
For future reference XRay's Segment Design: https://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html |
@fabianfett we done some similar work in https://github.com/apple/swift-statsd-client maybe some inspiration there |
Hi all, I implemented XRay Recorder for Swift: https://github.com/pokryfka/aws-xray-sdk-swift I do use XRay tracing in Lambdas a lot and was lacking that when "Messing with Swift AWS Lambda Runtime". Following up this project, happy to help with XRay client testing/implementation when protocols for Tracing Backends are defined. BTW, for my "lambda purposes" I send all the segments via HTTP (using PutTraceSegments API) or UDP, just once at the end of each lambda event processing. |
That's awesome, thanks for reaching out! |
One interesting use case for us could be the AWS Lambda Runtime. I can imagine an example where some processing happens in a Lambda that adds to a
BaggageContext
. (Once we get to this use case we can come up with a more specific plan on what to do)The text was updated successfully, but these errors were encountered: