この記事は英語の原文を日本語に翻訳したものです。原文: https://opentelemetry.io/docs/specs/semconv/resource/cicd/
翻訳元: open-telemetry/semantic-conventions v1.44.0(コミット e10a930)
CI/CD
参考:
継続的インテグレーションと継続的デリバリー(CI/CD)
CI/CDパイプライン
Status:
type: cicd.pipeline
Description: パイプラインは、ソフトウェアチームがコードを届けるのを助ける、一連の自動化されたステップです。
Attributes:
| Role | Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|---|
| Identity | cicd.pipeline.name | Required | string | CI/CDシステム内における、人間が読めるパイプラインの名前。 | Build and Test; Lint; Deploy Go Project; deploy_to_environment |
CI/CDパイプライン実行
あるパイプライン実行のすべてのスパンに対して次の属性を効率的に設定するには、これらを次のようなリソースとして定義すべきです。
このリソースはパイプライン実行ごとに一意であるため、そのTracerを通じて発行されるあらゆるスパンのリソースを設定できるように、パイプライン実行ごとに個別のTracerProviderをインスタンス化することになります。
CI/CDパイプライン実行リソースをメトリクスで使用すると、本質的に高カーディナリティになり、一部のメトリクスストレージバックエンドではコストが増加する可能性があります。そのため、メトリクスに対してCI/CDパイプライン実行リソースを使用することはオプトインでなければなりません(MUST)。
Status:
type: cicd.pipeline.run
Description: パイプライン実行は、あるパイプラインのタスクの単一の実行です。
Attributes:
| Role | Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|---|
| Identity | cicd.pipeline.run.id | Required | string | CI/CDシステム内における、パイプライン実行の一意な識別子。 | 120912 | |
| Description | cicd.pipeline.run.url.full | Recommended | string | パイプライン実行を特定・識別するための完全なアドレスを提供する、パイプライン実行のURL。 | https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763?pr=1075 |
CI/CDワーカー
Status:
type: cicd.worker
Description: CI/CDワーカーは、作業を実行する(パイプラインのタスクを実行する、同期を行うなど)CI/CDシステムのコンポーネントです。
1回のパイプライン実行は、複数のワーカーに分散されることがあります。あるワーカーに関連付けられたOpenTelemetryシグナルは、対応する作業を実行したそのワーカーに関連付けられるべきです。
例えば、あるパイプライン実行が複数のワーカーを含む場合、そのタスク実行のスパンは、各タスク実行を処理したワーカーに対応する異なるcicd.workerリソースを参照する場合があります。パイプライン実行の親スパンは、代わりにCI/CDコントローラーをcicd.workerリソースとして参照する場合があります。
Attributes:
| Role | Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|---|
| Identity | cicd.worker.id | Required | string | CI/CDシステム内における、ワーカーの一意な識別子。 | abc123; 10.0.1.2; controller | |
| Description | cicd.worker.name | Recommended | string | CI/CDシステム内における、ワーカーの名前。 | agent-abc; controller; Ubuntu LTS | |
| Description | cicd.worker.url.full | Recommended If available | string | ワーカーを特定・識別するための完全なアドレスを提供する、ワーカーのURL。 | https://cicd.example.org/worker/abc123 |
バージョン管理システム(VCS)
VCSリポジトリ
Status:
type: vcs.repository
Description: バージョン管理システム内のリポジトリ。
Attributes:
| Role | Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|---|
| Identity | vcs.repository.url.full | Required | string | ブラウザーを通じてそのリポジトリを特定・識別するための完全なHTTP(S)アドレスを提供する、リポジトリの正規URL。[1] | https://github.com/opentelemetry/open-telemetry-collector-contrib; https://gitlab.com/my-org/my-project/my-projects-project/repo | |
| Description | vcs.repository.name | Recommended | string | 人間が読めるリポジトリの名前。GitLabのGroup/SubGroupやGitHubのorganizationのような追加の識別子は含めるべきではありません(SHOULD NOT)。[2] | semantic-conventions; my-cool-repo |
[1] vcs.repository.url.full: GitのVersion Control Systemでは、正規URLには.git拡張子を含めるべきではありません(SHOULD NOT)。
[2] vcs.repository.name: 名前のみであるため、複数のorganizationやgroupをまたいでテレメトリーを収集する場合、同じリポジトリのフォークと衝突する可能性があります。
VCS参照
Status:
type: vcs.ref
Description: バージョン管理システム内の、特定のバージョンへの参照。
Attributes:
| Role | Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|---|
| Identity | vcs.ref.head.revision | Required | string | リビジョン。文字通り改訂されたバージョンを指します。リビジョンは、多くの場合Gitのコミットオブジェクト、またはSVNのリビジョン番号を指します。[1] | 9d59409acf479dfa0df1aa568182e43e43df8bbe28d60fcf2bc52e30068802cc; main; 123; HEAD | |
| Description | vcs.ref.head.name | Recommended | string | リポジトリ内のブランチやタグなどの参照の名前。[2] | my-feature-branch; tag-1-test | |
| Description | vcs.ref.type | Recommended | string | リポジトリ内の参照の種別。 | branch; tag |
[1] vcs.ref.head.revision: headは、今まさにいる場所、つまりある時点における現在の参照を指します。リビジョンは、リポジトリ内の参照に対する記録された変更の完全なハッシュ値(用語集参照)であり、コミットオブジェクトを指します。必ずしもハッシュである必要はなく、単に単調増加する整数であるリビジョン番号を定義するだけでもかまいません。ref.head.nameと同一の場合でも、含めるべきです(SHOULD)。VCSシステムと状況に応じたコンテキストに基づいて、リビジョンとしてどの値を設定するかは実装者に委ねられます。
[2] vcs.ref.head.name: headは、今まさにいる場所、つまりある時点における現在の参照を指します。
vcs.ref.typeには、次のよく知られた値の一覧があります。いずれかが該当する場合はその値を使用しなければならず(MUST)、それ以外の場合は独自の値を使ってもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
branch | ブランチ | |
tag | タグ |