🧳 分布式追踪行李核心

📔 注意:您很可能不需要依赖这个包本身。

大多数库和项目应该依赖并使用 https://github.com/apple/swift-distributed-tracing-baggage 包,除非必须避免 SwiftLog 依赖。

Baggage 是一个最小的(零依赖)上下文传播容器,旨在“携带”行李项,以便在其之上构建横切工具。

它的模型基于 W3C Baggage 中解释的概念以及 Tracing Plane 的 "Baggage Context" 类型,但本身并未定义特定的序列化格式。

有关此类型的使用指南,请参阅 Swift Distributed Tracing BaggageSwift Distributed Tracing

依赖

为了依赖这个库,您可以使用 Swift Package Manager,并将以下依赖项添加到您的 Package.swift

dependencies: [
  .package(
    name: "swift-baggage-context-core",
    url: "https://github.com/apple/swift-distributed-tracing-baggage-core.git",
    from: "0.1.0"
  )
]

并在您的目标中依赖该模块

targets: [
    .target(
        name: "MyAwesomeApp",
        dependencies: [
            "CoreBaggage",
        ]
    ),
    // ... 
]

用法

请参阅 Swift Distributed Tracing Baggage 以获取预期用法和详细指南。

或者,请参考 Baggage 类型的 API 文档。

贡献

贡献时,请确保运行 ./scripts/soundness.sh 脚本,它会检查格式和类似的东西。

您可以通过使用 git 安装一个 pre-push hook 来确保它始终在您推送之前运行并通过

echo './scripts/soundness.sh' > .git/hooks/pre-push