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:
- NIO #1574: Add BaggageContext property to ChannelHandlerContext
- AsyncHTTPClient #289: Add tracing instrumentation
- gRPC #941: Add tracing instrumentation
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:
- Tracing #139: Add instructions to README
- BaggageContext #29: Improve documentation & test coverage
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 ), 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 ]), 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