概要

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

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

一般的なファセット

Software Delivery > Test Visibility > Test Runs に移動して、テスト実行リストの左側に表示されるファセットの一覧にアクセスします。

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

Test 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 ブランチ。
タグGit タグ。
Author EmailGit 作成者メールアドレス。
Committer EmailGit コミッターメールアドレス。
Committer DateGit コミッター日付。
Author DateGit 作成者日付。
EnvCI パイプラインが実行されている環境。
ResourceCI パイプラインで使用されているリソース。
Operation NameCI パイプライン内で実行された操作。
エラーの種類CI 実行中に発生したエラーの種類。
タイプCI 実行またはエンティティの種類。
Complete TraceCI パイプライン実行の完全なトレース。
Duration実行時間 (秒)。
バージョン使用された CI パイプラインまたはツールのバージョン。
Is Default BranchGit リポジトリのデフォルトブランチで実行されたかどうかを示します。

定性的ファセット

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

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

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

定量的メジャー

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

  • 複数のテスト実行から値を集計する。
  • テスト実行を範囲フィルターする。
  • テスト実行を、その値に対してソートする。

種類

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

単位

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

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

ファセットパネル

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

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

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

ファセットのグループ化

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

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

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

ファセットの作成

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

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

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

Test Runs サイドパネルで、失敗したテスト実行からファセットを作成します
  1. Test Visibility Explorer で、ファセットを作成するフィールドを含む対象のテスト実行に移動します。

  2. リストからテスト実行を選択して、Test Runs サイドパネルを開きます。

  3. 必要なフィールド (テスト実行の場合は Other tags セクション) をクリックし、そこからファセットを作成します。

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

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

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

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

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

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

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

参考資料