Current state of Swift Tracing

Hi folks, now that GSoC is almost over I wanted to take the opportunity to write a status quo of our instrumentation APIs and where we’re headed next.

Swift >= 5.0

Both BaggageContext and Tracing are now compatible with Swift >= 5.0. This allows us to ease integration with libraries such as gRPC and AsyncHTTPClient.

WIP integrations

During the last couple of months we created draft PRs for some of the core libraries in our ecosystem:

We hope this inspires you to also integrate with your own libraries. I’d like to give a shoutout to @pokryfka who contributed a huge number of issues and pull requests based on his experience of integrating XRay with Tracing and BaggageContext: AWS X-Ray SDK #16

HOT R.O.D. Example

We also started to build an end-to-end example inspired by Jaeger’s HOT R.O.D. demo application that you can find in a separate repository.

The examples makes use of of the draft PR versions of NIO & AsyncHTTPClient and gRPC will follow soon.

Documentation

During the last week we focused on adding/improving documentation for Tracing & BaggageContext. Feedback on the respective PRs is very much welcome:

What’s next

Although GSoC already comes to an end on Monday, @ktoso & I will continue working on these instrumentation efforts.

Prepare repositories for initial releases

First of all, we want to drop the GSoC prefix from all libraries, and find a new home for the repositories. When the documentation improvements land in both repositories we plan on stabilizing their APIs in order to tag releases for both.

Pitch BaggageContext & Tracing to SSWG

Once released, we want to pitch both projects to become official server-side Swift projects.

My experience with GSoC

Lastly, I wanted to quickly share my experience of GSoC: To keep it short (and a bit cheesy :grin:), I’m sure I’ve never learned as much in such a short amount of time! This wouldn’t have been possible without my amazing mentor @ktoso, who not only was always up for a call, instantly responded to my messages (across time-zone boundaries [Pun intended :slight_smile:]), but also put so much effort into detailed PR reviews. Also, thank you to everyone who has been providing feedback and answering questions along the way, I’m very proud to be part of this community :tada:

25 Likes

Thanks for your time and work during the GSoC, Moritz!
I’m super happy that you enjoyed and learnt a lot during it, and I’m looking forward to continuing the last mile outside of the GSoC now — great job and thanks again :slight_smile:

As for others, waiting for the tracing work to conclude, please watch the server forums and the respective repositories. We’ll be posting updates as we go.

4 Likes

Great work, we’re very excited to see this work mature over the coming months and to get it fully integrated into the ecosystem!

4 Likes

Thank you @slashmo. It has been a pleasure watching you work on this, and your effort brings fantastic progress to the ecosystem.

5 Likes

Thank you for doing such great work on this @slashmo! This is going to be a very valuable part of the swift-on-server ecosystem and I look forward to seeing it progress.

2 Likes