このドキュメントでは、Distribution
値のタイプの指標データを表示するグラフを作成して解釈する方法について説明します。この値の型は、個別測定値があまりに多すぎて収集できないが、測定値に関する統計情報(平均やパーセンタイルなど)に価値がある場合にサービスによって使用されます。たとえば、アプリケーションが HTTP トラフィックに依存している場合、HTTP レスポンスのレイテンシをキャプチャする分布値の指標を使用して、HTTP リクエストの完了速度を評価できます。
ヒストグラムの作成方法を説明するため、リクエストの HTTP レイテンシを測定し、分布値タイプを持つ指標を使用して、そのデータを報告するサービスについて考えてみます。データは 1 分ごとに報告されます。このサービスは、バケットと呼ばれる指標の値の範囲を定義し、各バケットに分類される測定値の数を記録します。たとえば、HTTP リクエストが完了すると、リクエストのレイテンシ値を含むバケットのカウントが増分されます。これらのカウントにより、その分の値のヒストグラムが作成されます。
1 分間隔で測定されるレイテンシが 5、1、3、5、6、10、14 であるとします。バケットが [0, 4)、[4, 8)、[8, 12)、[12, 16) の場合、このデータのヒストグラムは [2, 3, 1, 1] です。次の表は、各測定値が各バケットのカウントにどのように影響するかを示しています。
バケット | レイテンシの測定 | バケット内の値の数 |
---|---|---|
[12,16) | 14 | 1 |
[8,12) | 10 | 1 |
[4,8) | 5, 5, 6 | 3 |
[0,4) | 1, 3 | 2 |
このデータが時系列に書き込まれると、Point
オブジェクトが作成されます。分布値を持つ指標の場合、そのオブジェクトには値のヒストグラムが含まれます。このサンプリング期間では、Point
に [2、3、1、1] が含まれます。個々の測定値は時系列に書き込まれません。
前のテーブルに、1:00 に測定されたレイテンシ データのヒストグラムを記録するとします。このテーブルは、一連の測定値を取得してバケット数に変換する方法を示しています。1:01、1:02、1:03 のバケット数が次の表のように示されるとします。
バケット | 1:00 の ヒストグラム |
1:01 の ヒストグラム |
1:02 の ヒストグラム |
1:03 の ヒストグラム |
---|---|---|---|---|
[12,16) | 1 | 6 | 0 | 1 |
[8,12) | 1 | 0 | 2 | 2 |
[4,8) | 3 | 1 | 1 | 8 |
[0,4) | 2 | 6 | 10 | 3 |
上の表は、時間でインデックスに登録されたヒストグラムのシーケンスを示しています。テーブルの各列は、1 分間のレイテンシ データを表します。特定の時点での測定値の数を取得するには、バケット数を合計します。ただし、分布値指標では実際の測定値を使用できないため、実際の測定値は表示されません。
ヒートマップ グラフ
ヒートマップ グラフは、分布値を持つ単一の時系列を表示するように設計されています。これらのグラフでは、X 軸は時間、Y 軸はバケット、色は値を表します。色が明るいほど高い値を示します。たとえば、ヒートマップの濃い領域は、黄色や白の領域よりもバケット数が少ないことを示しています。
次の図は、前の例のヒートマップの表現の一つです。
前の例のヒートマップでは、最小バケット数(0)を黒、最大バケット数(10)を黄色で表しています。赤とオレンジは、両極にあるこの 2 つの値の中間値を表します。
ヒートマップ グラフには単一の時系列しか表示できないため、すべての時系列を結合するように集計オプションを設定する必要があります。
Metrics Explorer を使用して、VM インスタンスの RTT レイテンシの合計を表示するには、次のようにします。-
Google Cloud コンソールで [leaderboard Metrics explorer] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] の結果を選択します。
- Google Cloud コンソールのツールバーで、 Google Cloud プロジェクトを選択します。App Hub の構成には、App Hub ホスト プロジェクトまたはアプリ管理用フォルダの管理プロジェクトを選択します。
- [指標] 要素の [指標を選択] メニューを開いてフィルタバーに「
RTT latencies
」と入力し、サブメニューを使用して特定のリソースタイプと指標を選択します。- [有効なリソース] メニューで、[VM インスタンス] を選択します。
- [有効な指標カテゴリ] メニューで、[Vm_flow] を選択します。
- [有効な指標] メニューで、[RTT latencies] を選択します。
- [適用] をクリックします。
折れ線グラフと棒グラフ
折れ線グラフ、積み上げ棒グラフ、積み上げ折れ線グラフは、スカラーデータを表示するように設計されていて、分布値を表示できません。これらのグラフタイプの分布値を含む指標を表示するには、ヒストグラム値をスカラー値に変換する必要があります。たとえば、集計オプションを設定して、ヒストグラムの値の平均を計算したり、パーセンタイルを計算したりできます。
分布値の指標を折れ線グラフに表示する方法については、次のセクションをご覧ください。
集計指標と分布指標
集計は、時系列内のポイントを正則化し、複数の時系列を結合するプロセスです。分布型の指標の場合の集計は、整数型または倍精度型の値を持つ指標の場合と同じです。ただし、このグラフタイプでは、時系列のアライメントとグループ化に使用される選択にいくつかの要件が適用されます。
ヒートマップ グラフ
ヒートマップ グラフには、分布値の時系列が 1 つ表示されます。 したがって、単一の時系列を作成するようにアライメント関数とグループ化関数を設定する必要があります。
グラフにヒートマップが表示されたら、sum
または delta
のアライメント関数を選択します。これらの関数は、同じアライメント期間内にある単一時系列のすべてのサンプルをバケットレベルで結合します。結果は分布値になります。たとえば、ある時系列の 2 つの隣接するサンプルが [2, 3, 1, 1] と [2, 5, 4, 1] の場合、合計のアライメント関数は [4, 8, 5, 2] を生成します。
グループ化関数は、異なる時系列を組み合わせる方法を定義します。この関数は、アグリゲータまたはレデューサともいいます。ヒートマップの場合は、グループ化関数を sum
関数に設定します。合計関数は、すべてのヒストグラムで同じバケットの値を加算し、新しいヒストグラムを作成します。たとえば、timeseries-A の値 [2, 3, 1, 1] と timeseries-B の値 [1, 5, 2, 2] の合計は [3, 8, 3, 3] です。
折れ線グラフ
折れ線グラフには、スカラー値の時系列のみが表示されます。分布値の指標を選択すると、ヒートマップの表示に最適なパラメータでグラフが構成されます。[集計] 要素のフィールドは「分布」と「なし」に設定されます。
[分布] の解釈は、特定の指標によって異なります。
GAUGE
指標の種類を持つ分布値の指標タイプの場合、デフォルトのアライメント関数はsum
に設定されます。分布値の指標タイプにCUMULATIVE
指標の種類がある場合、デフォルトのアライメント関数はDELTA
です。[なし] に設定すると、すべての期間が結合されます。
分布値の指標を折れ線グラフで表示する場合は、グラフのデフォルト設定を変更する必要があります。たとえば、分布値の指標のすべての時系列の 99 パーセンタイルを表示するように、ダッシュボードで折れ線グラフを構成するには、次のようにします。
-
Google Cloud コンソールで [
ダッシュボード] ページに移動します。
このページを検索バーで検索する場合は、小見出しが「Monitoring」の結果を選択します。
- Google Cloud コンソールのツールバーで、 Google Cloud プロジェクトを選択します。App Hub 構成の場合は、App Hub ホスト プロジェクトまたはアプリ管理用フォルダの管理プロジェクトを選択します。
- ツールバーで [add ウィジェットを追加] をクリックします。
- [ウィジェットを追加] ダイアログで、[leaderboard 指標] を選択します。
- [指標] 要素で、[VM Instance - RTT latencies] 指標を選択します。
- [集計] 要素で、最初のメニューを開いて、[99 パーセンタイル] を選択します。
- [表示] ペインで、[ウィジェット タイプ] メニューの値を [折れ線グラフ] に設定します。
- 省略可: [集計] 要素で 2 番目のメニューを開き、時系列をグループ化するラベルを選択します。デフォルトではラベルは選択されていないため、グラフには 1 つの線が表示されます。
次のステップ
指標のバケットモデルの決定方法とパーセンタイルの解釈方法については、パーセンタイルと分布値の指標をご覧ください。