Interest in "Server Distributed Tracing in Swift"

Hi all,
I'm interested in joining Google Summer of Code this year. The distributed tracing project proposal resonated the most with me as I implemented multiple Server-Side Swift projects over the last couple of semesters. Being able to see the Swift projects traced alongside e.g. Golang projects would've been very helpful.

@ktoso In the proposal you mentioned that the implementation should adhere to the OpenTracing standard. If I understand it correctly OpenTracing got now merged with OpenCensus and is being redefined as OpenTelemetry so I'm not sure whether an OpenTracing client would still be needed. OpenTelemetry already started a Swift client yesterday so I'm curious to hear your thoughts on whether it'd still be possible to be involved in realizing distributed tracing for Swift on the server.

5 Likes

Hi Moritz!
Super awesome to hear from you!

Ah yes the specific spec we’d adhere to is open for discussion, you’re right that open census et al have kind of subsumed the OT project. The timing here is quite funny — that the project was just kicked off there yesterday... :sweat_smile:

I’m sure we’ll be able to figure out either if we can collaborate or refocus the task a little bit given this recent development by OpenTelemetry. :+1:

Let me reach out a bit internally and externally given that repository has just been kicked off— and we’ll figure out how to make best use of everyone’s time and efforts here :-)

I’ll report back soon!

2 Likes

Hi Moritz and Konrad,
I am the current maintainer of the OpenTelemetry-Swift implementation.

The project is totally open to new contributions and maintainers. Is still in the early stages, some areas of the project are more advanced (like Tracing and CorrelationContext) while others are less advanced (jaeger exporter or stdout exporter), or even not started at all (Metrics integration, Opentracing shims or custom instrumentation).

As it landed recently in the OpenTelemetry domain ( it comes from a contribution started outside of the OpenTelemetry community: https://github.com/open-telemetry/community/issues/261), the development plan is still waiting for the team to complete but there are many areas to contribute

1 Like

Hi Ignacio,
great to hear from you! It's really great to see movement on the OT front for Swift :tada:

Overall we're definitely open to contribute to Open Telemetry, however for this project we'd like to address the wider need of the Swift ecosystem itself (as a whole), and while we're at it also addressing the Open Telemetry story by integrating with it.

We did the same with metrics with SwiftMetrics [1] as well as other projects/frameworks like ServiceTalk [2], and I took a similar approach in a past open source life as well.


I worked out a "strategic plan" so we can get discussing more specifically what we'd like to showcase and/or achieve with this project. The plan draft is available (open, editable) here: GSoC 2020, Swift Tracing: Strategic Plan

In spirit of Managing the Plan, I think it'd be useful if we discussed it a little bit @slashmo, to see if it aligns with what you're interested in, and/or what we could change or clarify more to be reasonable and fun to pull off during this project. Feel free to comment or edit in-line there, and we can also jump on a facetime if you'd like to some time?

Excited to flesh out the details and get working on this :-)

[1] https://github.com/apple/swift-metrics
[2] https://apple.github.io/servicetalk/servicetalk/SNAPSHOT/async-context.html
[3] GSoC 2020, Swift Tracing: Strategic Plan (google docs link, open to anyone)

2 Likes

Hi, Konrad,

I'm also interested in this proposal too. Hoping to have some progress on it.

2 Likes

Awesome :-)

If you want to catch up or discuss some more let me know, otherwise you can come up with a detailed plan (the rough idea is outlined above) and some of your background and we can take it from there. Would be good if we could get a draft some days before the deadline so we can help you polish the proposal.

Don't hestitate to reach out if you'd need anything.

Terms of Service

Privacy Policy

Cookie Policy