概要

ファセットとは、パイプラインからユーザーが定義したタグや属性のことです。これらは、定性的および定量的なデータ分析に役立ちます。ファセットによって、CI パイプラインモニターダッシュボードノートブックに表示される検索クエリでパイプラインを操作することができるようになります。

ファセットの作成は、パイプライン実行の検索には必須ではありません。オートコンプリート機能は既存のファセットを使用しますが、入力されたパイプライン実行にマッチする入力も適用されます。

一般的なファセット

Software Delivery > CI Visibility > Executions に移動して、パイプライン実行リストの左側に表示されるファセットの一覧にアクセスします。

CI Visibility Explorer には、すぐに使える以下のファセットが含まれています。

ファセット説明
CI ProviderCI プロバイダーの名前 (GitHub、GitLab など)。
Pipeline NameCI パイプラインの名前。
Node Nameパイプライン、ステージ、またはジョブを実行した CI ノードの名前。
Node Labelsパイプライン、ステージ、またはジョブを実行した CI ノードに関連付けられたラベル。
Pipeline URLパイプライン実行のプロバイダー URL。
Pipeline IDパイプラインの ID。
Pipeline NumberCI プロバイダーが提供する CI パイプラインの実行番号。この値はパイプラインを部分的に再試行すると増加します。
Job URLジョブ実行のプロバイダー URL。
Stage NameCI ステージの名前。
Job NameCI ジョブの名前。
Kubernetes NamespaceKubernetes ポッドが実行されているネームスペース。
Kubernetes Pod NameKubernetes ポッドの名前。
Image TagKubernetes コンテナイメージのタグ。
Container NameKubernetes コンテナ名のタグ。
Image NameKubernetes コンテナイメージ名のタグ。
コンテナ IDKubernetes コンテナ ID。
Kubernetes Container NameKubernetes コンテナの名前。
Kubernetes Deploymentポッドが属する Kubernetes デプロイメント。
Kubernetes Stateful Setポッドが属する Kubernetes の StatefulSet。
Repository URLGit リポジトリの URL。
Repository IDGit リポジトリを一意に識別する ID。
Commit SHAGit コミット SHA。
BranchGit ブランチ。
TagGit タグ。
Author EmailGit 作成者メールアドレス。
Committer EmailGit コミッターメールアドレス。
Committer DateGit コミッター日付。
Author DateGit 作成者日付。
EnvCI パイプラインが実行されている環境。
ResourceCI パイプラインで使用されているリソース。
Operation NameCI パイプライン内で実行された操作。
エラーの種類CI 実行中に発生したエラーの種類。
タイプCI 実行またはエンティティの種類。
Complete TraceCI パイプライン実行の完全なトレース。
Duration実行時間 (秒)。
バージョン使用された CI パイプラインまたはツールのバージョン。
Is Default BranchGit リポジトリのデフォルトブランチで実行されたかどうかを示します。

CI Visibility Explorer でファセットを使用して、以下の操作を行うことができます。

定性的ファセット

次が必要な場合は、定性的ファセットを使用します。

  • 値に関する相対的な洞察を取得する
  • 一意な値を数える**。
  • 特定の値に対してパイプライン実行を頻繁にフィルタリングする。たとえば、環境タグのファセットを作成して、トラブルシューティングを開発、ステージング、または本番環境にまで絞り込みます。

注: タグのフィルタリングにファセットは必須ではありませんが、調査中に頻繁に使用するタグのファセットを定義すると、解決までの時間を短縮するのに役立ちます。

定量的メジャー

次が必要な場合は、定量的メジャーを使用します。

  • 複数のパイプライン実行から値を集計する。
  • パイプライン実行を範囲フィルターする。
  • パイプライン実行をその値に対してソートする。

種類

メジャーには、同等の機能のために、長整数またはダブル値があります。

単位

メジャーは、クエリ時および表示時の桁数を処理するための単位 (time (秒) または size (バイト)) をサポートしています。単位は、メジャー自体のプロパティであり、フィールドのプロパティではありません。

例えば、duration というメジャーをナノ秒単位で考えてみましょう。例えば、service:A からのパイプライン実行が duration:10000000 で、10 milliseconds を意味するとします。service:B からのスパンは duration:5000000 で、5 milliseconds を意味すると仮定します。duration:>2ms を使用すると、一度に両方のサービスのパイプライン実行タグを一貫してクエリすることができます。検索クエリの詳細については、検索構文を参照してください。

ファセットパネル

検索バーを使うと、包括的かつインタラクティブにデータをフィルタリングしグループ化することができます。ただし、多くの場合は、ファセットパネルを使った方がよりわかりやすくデータに移動できます。ファセットを開くと、現在のクエリのスコープのコンテンツのサマリーが表示されます

検索バーと URL には、ファセットパネルで選択した内容が自動的に反映されます。

  • ファセット (定性的) には、一意の値の上位リストと、それぞれに一致するパイプライン実行の数が用意されています。
  • メジャー (定量的) には、最小値と最大値を示すスライダーが付いています。スライダーを使用するか、数値を入力して、検索クエリを別の範囲に絞り込みます。

ファセットのグループ化

ファセットは、ファセットリスト内で意味のあるテーマにグループ化されます。ファセットグループの割り当てや再割り当てはファセットリストにしか影響せず、検索や分析には影響しません。

ファセットのフィルタリング

ファセットパネルのファセットの検索ボックスを使用して、ファセットリスト全体を絞り込み、操作する必要があるファセットに移動することができます。ファセット検索では、ファセット表示名とフィールド名を使用して、結果の範囲を絞り込みます。

ファセットの作成

パイプライン実行の属性やタグにファセットを作成することは、パ イプライン実行を検索するために必須のステップではありません。ファセットは、特定のパイプライン実行属性に意味のある説明を追加したい場合や、属性値を Facets リストに表示したい場合に便利です。

Pipeline Executions サイドパネルからのファセットの作成

ファセットを作成する最も簡単な方法は、ファセットの詳細の大部分が事前に入力されるように、Pipeline Executions サイドパネルから追加することです。

CI Pipeline Execution サイドパネルからファセットを作成する
  1. CI Visibility Explorer で、ファセットを作成するフィールドを含む対象のパイプライン実行に移動します。

  2. リストからパイプライン実行を選択して、Pipeline Executions サイドパネルを開きます。

  3. 必要なフィールド (パイプライン実行のスパンの場合は Info タブ) をクリックし、そこからファセットを作成します。

    • フィールドに数値がある場合、ファセットまたはメジャーのいずれかを作成できます。
    • フィールドに文字列値がある場合、ファセットの作成のみが可能です。

ファセットリストからのファセット作成

目的のフィールドを持つパイプライン実行を見つけることができない場合は、+ Add をクリックして、ファセットパネルから直接ファセットを作成します。

ファセットサイドパネルからファセットを追加

このファセットの基底のフィールド(キー)名を定義します。

  • インフラストラクチャータグにタグキー名を使用します。
  • プレフィックス @ がある、パイプライン実行属性の属性パスを使用します。

現在のビューのパイプライン実行の内容に基づいてオートコンプリート機能が働くためは、適切なフィールド名を定義しやすくなっています。ただしここでは、特に Datadog が受信したパイプライン実行に一致するものがない場合は、実際はどんな値でも使用できます。

参考資料