Swift 的分布式追踪 API。
这是一个 Swift 库集合,可以使用追踪器等工具对服务器端应用程序进行检测。我们的目标是提供一个通用的基础,允许自由选择如何检测系统,并尽可能减少对实际代码的更改。
虽然 Swift 分布式追踪允许构建各种工具,这些工具可以透明地共存于应用程序中,但其主要用途是使用分布式追踪来检测多线程和分布式系统。
本项目使用在以下项目中独立定义的上下文传播类型:
ServiceContext
(零依赖)本项目以非常开放和可扩展的方式设计,以便可以在其之上构建各种检测和追踪系统。
追踪包的目的是作为所有追踪器和检测实现的通用 API。因此,库可能只需要检测一次,然后就可以与任何符合此 API 的追踪器一起使用。
兼容的 Tracer
实现
库 | 状态 | 描述 |
---|---|---|
@slashmo / Swift OTel | 🟢 已更新至 1.0 | 将 span 导出到 OpenTelemetry Collector;与 Zipkin、X-Ray Jaeger 等兼容。 |
你的库? | ... | 请联系我们! |
如果您知道任何其他库,请发送 pull request 将其添加到列表中,谢谢!
由于此 API 包刚刚发布,因此还没有项目完全采用它,下表不用作采用跟踪工作的早期工作的参考。随着项目开始完全采用跟踪,该表将用于跟踪各种库的采用阶段。
HTTP 服务器/框架 | 集成 | 状态 |
---|---|---|
Hummingbird | 追踪 | 🟢 内置支持 |
Vapor | 追踪 | 🟢 内置支持 |
你的库? | ... | 请联系我们! |
如果您知道任何其他库,请发送 pull request 将其添加到列表中,谢谢!
请参考 参考文档,其中包含有关在您的应用程序、库和框架中采用分布式追踪的详细指南。