此仓库包含 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"),
并将 OpenTelemetryApi
或 OpenTelemetrySdk
添加到您的应用程序/库目标中的 dependencies
,例如像这样
.target(name: "ExampleTelemetryProducerApp", dependencies: ["OpenTelemetryApi"]),
或
.target(name: "ExampleApp", dependencies: ["OpenTelemetrySdk"]),
从 1.11.0 版本开始,OpenTelemetry-Swift 支持 cocoapods。 提供了两个 pod
OpenTelemetry-Swift-Api
OpenTelemetry-Swift-Sdk
OpenTelemetry-Swift-Api
是 OpenTelemetry-Swift-Sdk
的依赖项。
大多数用户希望将以下内容添加到他们的 pod 文件中
pod 'OpenTelemetry-Swift-Sdk'
这将添加 API 和 SDK。 如果您只对添加 API 感兴趣,请添加以下内容
pod 'OpenTelemetry-Swift-Api'
有关该库的官方文档可以在官方 opentelemetry 文档页面中找到,包括
有关安装和 手动 instrumentation 的文档
提供自动 instrumentation 的 库
Tracing 和 Baggage 被认为是稳定的
Logs 被认为是 Beta 质量
Metrics 使用过时的规范实现,功能齐全,但将来会发生变化
注意: OTLP exporters 同时支持 GRPC 和 HTTP,只有 GRPC 才是生产就绪的,HTTP 仍然是实验性的
URLSession
NetworkStatus
SDKResourceExtension
SignPostIntegration
该软件包包含一些具有基本功能的示例项目
Datadog Sample
- 显示与简单 Exporter 一起使用的 Datadog exporter,展示如何配置以进行发送。Logging Tracer
- 记录每个 api 调用的 Tracer 的简单 api 实现Network Tracer
- 展示如何在您的应用程序中使用 URLSessionInstrumentation
instrumentationSimple Exporter
- 展示使用 MultiSpanExporter 的 Jaeger 和 Stdout exporters 的实际应用。 可以轻松修改用于其他 exportersPrometheus Sample
- 显示 Prometheus exporter 将指标报告给 Prometheus 实例OTLP Exporter
- 显示 OTLP exporter 通过 otel-collector 将追踪报告给 Zipkin 并将指标报告给 Prometheus我们欢迎您的帮助!使用标签 [help wanted][help wanted] 和 [good first issue][good first issues] 开始项目。 有关如何贡献的概述,请参见 CONTRIBUTING.md 中的贡献指南。
我们每周都会举行 SIG 会议! 有关会议详细信息和注释,请参见社区页面。
我们也可以在 #otel-swift 频道中的 CNCF slack 中找到。 请加入我们,参加 OTel Swift 讨论。
在社区存储库中查找有关维护者角色的更多信息。
在社区存储库中查找有关批准者角色的更多信息。
在社区存储库中查找有关分类者角色的更多信息。