OpenTelemetry 图标 opentelemetry-swift

CI codecov

关于

此仓库包含 Swift OpenTelemetry 客户端

入门

此包包含多个库。OpenTelemetryApi 库包含构成 OpenTelemetry API 的协议和 no-op 实现,遵循 规范OpenTelemetrySdk 库是 API 的参考实现。

生成遥测数据的库应仅依赖于 OpenTelemetryApi,并将 SDK 的选择权留给应用程序开发人员。应用程序可以依赖于 OpenTelemetrySdk 或实现 API 的其他包。

添加依赖项

opentelemetry-swift 专为 Swift 5 设计。 要依赖 opentelemetry-swift 包,您需要在 Package.swift 中声明您的依赖项

.package(url: "https://github.com/open-telemetry/opentelemetry-swift", from: "1.0.0"),

并将 OpenTelemetryApiOpenTelemetrySdk 添加到您的应用程序/库目标中的 dependencies,例如像这样

.target(name: "ExampleTelemetryProducerApp", dependencies: ["OpenTelemetryApi"]),

.target(name: "ExampleApp", dependencies: ["OpenTelemetrySdk"]),

Cocoapods

从 1.11.0 版本开始,OpenTelemetry-Swift 支持 cocoapods。 提供了两个 pod

OpenTelemetry-Swift-ApiOpenTelemetry-Swift-Sdk 的依赖项。

大多数用户希望将以下内容添加到他们的 pod 文件中

pod 'OpenTelemetry-Swift-Sdk'

这将添加 API 和 SDK。 如果您只对添加 API 感兴趣,请添加以下内容

pod 'OpenTelemetry-Swift-Api'

文档

有关该库的官方文档可以在官方 opentelemetry 文档页面中找到,包括

当前状态

API 和 SDK

Tracing 和 Baggage 被认为是稳定的

Logs 被认为是 Beta 质量

Metrics 使用过时的规范实现,功能齐全,但将来会发生变化

支持的 exporters 和 importers

Traces (追踪)

Metrics (指标)

Logs (日志)

注意: OTLP exporters 同时支持 GRPC 和 HTTP,只有 GRPC 才是生产就绪的,HTTP 仍然是实验性的

Instrumentation libraries (Instrumentation 库)

示例

该软件包包含一些具有基本功能的示例项目

贡献

我们欢迎您的帮助!使用标签 [help wanted][help wanted] 和 [good first issue][good first issues] 开始项目。 有关如何贡献的概述,请参见 CONTRIBUTING.md 中的贡献指南。

我们每周都会举行 SIG 会议! 有关会议详细信息和注释,请参见社区页面

我们也可以在 #otel-swift 频道中的 CNCF slack 中找到。 请加入我们,参加 OTel Swift 讨论。

社区成员

维护者 (@open-telemetry/swift-maintainers)

社区存储库中查找有关维护者角色的更多信息。

批准者 (@open-telemetry/swift-approvers)

社区存储库中查找有关批准者角色的更多信息。

分类者 (@open-telemetry/swift-triagers)

社区存储库中查找有关分类者角色的更多信息。