We're very excited to announce the first alpha release of Swift OTel, based on the refined public API discussed in "Swift OTel: Proposed revised API for 1.0 release". Thanks again to the community for providing feedback
We just tagged 1.0.0-alpha.1 and would love for you to take it for a spin in your applications.
What's new in Swift OTel 1.0?
- Complete public API overhaul: We massively simplified and reduced our public API to provide a much friendlier bootstrapping. This makes it trivial to set up observability for your Swift applications.
- Logging support: Logging is the latest signal added to Swift OTel, completing our support for the three pillars (Logging, Metrics, and Tracing). It's "one library to export them all"β’.
- OTLP/HTTP+Protobuf and OTLP/HTTP+JSON exporters: In addition to the gRPC-based exporter (which is now on 2.0), we added support for exporting via HTTP, sending either Protobuf or JSON encoded data. Some observability tools like Prometheus only support
http/protobuf
and Swift OTel now enables you to use them directly. - Flexible configuration: We expanded the supported configuration options to match the OpenTelemetry spec as close as possible, including support for mTLS.
Getting started
Our updated documentation is available on the Swift Package Index. We also expanded the examples directory to highlight various Swift OTel set ups like using mTLS, exporting via different protocols, and disabling some of the signals.
Call for Feedback
We're looking forward to hearing how Swift OTel 1.0 is working for you! Please reply here directly or open an issue on GitHub. We're aiming to finalize the 1.0 release process within the next couple of months.
Shoutouts
Let me end this post with a quick shoutout to everyone that helped this alpha come to live. Ginormous special shoutout to @beaumont who not only contributed Metrics support last year but also helped out tremendously with the new public API, examples, HTTP support, and countless more PRs. Also big thanks to @Honza_Dvorsky, @ktoso, and @Joannis_Orlandos for providing great input along the way
Thank you,
Moritz