Swift 分布式追踪

Swift 的分布式追踪 API。

这是一个 Swift 库集合,可以使用追踪器等工具对服务器端应用程序进行检测。我们的目标是提供一个通用的基础,允许自由选择如何检测系统,并尽可能减少对实际代码的更改。

虽然 Swift 分布式追踪允许构建各种工具,这些工具可以透明地共存于应用程序中,但其主要用途是使用分布式追踪来检测多线程和分布式系统。


本项目使用在以下项目中独立定义的上下文传播类型:


兼容性

本项目以非常开放和可扩展的方式设计,以便可以在其之上构建各种检测和追踪系统。

追踪包的目的是作为所有追踪器和检测实现的通用 API。因此,库可能只需要检测一次,然后就可以与任何符合此 API 的追踪器一起使用。

追踪后端

兼容的 Tracer 实现

状态 描述
@slashmo / Swift OTel 🟢 已更新至 1.0 将 span 导出到 OpenTelemetry Collector;与 ZipkinX-Ray Jaeger 等兼容。
你的库? ... 请联系我们!

如果您知道任何其他库,请发送 pull request 将其添加到列表中,谢谢!

库 & 框架

由于此 API 包刚刚发布,因此还没有项目完全采用它,下表不用作采用跟踪工作的早期工作的参考。随着项目开始完全采用跟踪,该表将用于跟踪各种库的采用阶段。

HTTP 服务器/框架 集成 状态
Hummingbird 追踪 🟢 内置支持
Vapor 追踪 🟢 内置支持
你的库? ... 请联系我们!

如果您知道任何其他库,请发送 pull request 将其添加到列表中,谢谢!


参考文档

请参考 参考文档,其中包含有关在您的应用程序、库和框架中采用分布式追踪的详细指南。