CICD
另请参阅
- CICD 的 追踪语义约定
持续集成和持续部署 (CICD)
CICD 流水线
状态:
类型: cicd.pipeline
描述: 流水线是帮助软件团队交付代码的一系列自动化步骤。
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
cicd.pipeline.name | 推荐 | 字符串 | CI/CD 系统中流水线的可读名称。 | 构建和测试; Lint; 部署 Go 项目; deploy_to_environment |
CICD 流水线运行
为了有效地为流水线运行的所有 spans 设置以下属性,应将其定义为以下资源。
由于此资源对于每个流水线运行都是唯一的,这意味着需要为每个流水线运行实例化单独的 TracerProvider,以便能够配置通过该 tracer 发出的任何 spans 的资源。
将 CICD 流水线运行资源与指标结合使用,本质上会导致高基数,并可能增加某些指标存储后端的成本。因此,将 CICD 流水线运行资源用于指标必须选择加入。
状态:
类型: cicd.pipeline.run
描述: 流水线运行是给定流水线任务的单一执行。
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
cicd.pipeline.run.id | 推荐 | 字符串 | CI/CD 系统中流水线运行的唯一标识符。 | 120912 | |
cicd.pipeline.run.url.full | 推荐 | 字符串 | URL,提供完整的地址以定位和识别流水线运行。 | https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763?pr=1075 |
CICD 工作器
状态:
类型: cicd.worker
描述: CICD 工作器是执行工作(例如,运行流水线任务或执行同步)的 CICD 系统组件。单个流水线运行可能分布在多个工作器上。与工作器关联的任何 OpenTelemetry 信号都应与执行相应工作的工器关联。例如,当流水线运行时涉及多个工作器时,其任务运行 spans 可能会引用执行每个任务运行的不同 cicd.worker 资源。流水线运行的父 spans 可能会改用 CICD 控制器作为 cicd.worker 资源。
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
cicd.worker.id | 必需 | 字符串 | CICD 系统中工作者的唯一标识符。 | abc123; 10.0.1.2; controller | |
cicd.worker.name | 推荐 | 字符串 | CICD 系统中工作者的名称。 | agent-abc; controller; Ubuntu LTS | |
cicd.worker.url.full | 推荐 如果可用 | 字符串 | URL,提供完整的地址以定位和识别工作者。 | https://cicd.example.org/worker/abc123 |
版本控制系统 (VCS)
VCS 仓库
状态:
类型: vcs.repo
描述: 版本控制系统中的仓库。
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
vcs.repository.name | 推荐 | 字符串 | 仓库的人类可读名称。它不应包含任何其他标识符,例如 GitLab 中的 Group/SubGroup 或 GitHub 中的组织。[1] | semantic-conventions; my-cool-repo | |
vcs.repository.url.full | 推荐 | 字符串 | 仓库的 规范 URL,提供完整的 HTTP(S) 地址,以便通过浏览器定位和识别仓库。[2] | https://github.com/opentelemetry/open-telemetry-collector-contrib; https://gitlab.com/my-org/my-project/my-projects-project/repo |
[1] vcs.repository.name: 由于它只是名称,因此在后端收集跨多个组织或组的遥测数据时,它可能会与相同仓库的 fork 冲突。
[2] vcs.repository.url.full: 在 Git 版本控制系统中,规范 URL 不应包含 .git 扩展名。
VCS 引用
状态:
类型: vcs.ref
描述: 对版本控制系统中特定版本的引用。
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
vcs.ref.head.name | 推荐 | 字符串 | 存储库中的引用的名称,例如**分支**或**标签**。[1] | my-feature-branch; tag-1-test | |
vcs.ref.head.revision | 推荐 | 字符串 | 修订版本,字面意思是修订后的版本。修订版本通常指的是 Git 中的提交对象,或 SVN 中的修订版本号。[2] | 9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc; main; 123; HEAD | |
vcs.ref.type | 推荐 | 字符串 | 存储库中引用的类型。 | branch; tag |
[1] vcs.ref.head.name: head 指的是你当前的位置;在给定时间点的当前引用。
[2] vcs.ref.head.revision: head 指的是你现在的位置;给定时间点的当前引用。修订版可以是完整的 哈希值(参见词汇表),它指向仓库中记录的 ref 的更改,该 ref 指向一个 commit commit 对象。它不一定必须是哈希值;它可以简单地定义一个 修订号,这是一个单调递增的整数。在与 ref.head.name 相同的情况下,仍应包含它。由实现者决定根据 VCS 系统和情境设置修订版的值。
vcs.ref.type 具有以下一系列已知值。如果适用其中一项,则必须使用相应的值;否则,可以改用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
branch | branch | |
tag | tag |