検索

3.5.7. 統計集計の計算

download PDF
統計集計は、新規データを素早くかつ大量に累積 (集計ストリーム統計情報のみを保存) することが重要な場合に、数的値の統計情報を収集するために使用されます。統計集計はグローバル変数またはアレイ内の要素として使用できます。
統計集計に値を追加するには、演算子 <<< value を使用します。

例3.19 stat-aggregates.stp

global reads	
probe vfs.read
{
  reads[execname()] <<< count
}
例3.19「stat-aggregates.stp」 では、演算子 <<< count が、reads アレイ内の対応する execname() の関連する値に count が返した数字を 保存 します。これらの値は 保存される のであって、各一意の鍵の関連する値に追加されたり、現行の関連する値に置き換わるものではありません。各一意の鍵 (execname()) に複数の関連する値があり、ハンドラーが実行するプローブで累積していると考えればよいでしょう。

注記

例3.19「stat-aggregates.stp」 のコンテキストでは、count は、仮想ファイルシステムに返された execname() が書き込んだデータ量を返します。
統計集計が収集したデータを抽出するには、構文書式 @extractor(variable/array index expression) を使用します。extractor は、以下のいずれかの整数抽出になります。
count
変数やアレイのインデックス式に保存されたすべての値の数を返します。例3.19「stat-aggregates.stp」 のサンプルプローブでは、@count(writes[execname()]) の式は、アレイ writes の各一意の鍵に 保存されている値の数 を返します。
sum
変数やアレイのインデックス式に保存されたすべての値の合計を返します。例3.19「stat-aggregates.stp」 のサンプルプローブでは、@sum(writes[execname()]) の式は、アレイ writes の各一意の鍵に 保存されている値すべての合計 を返します。
min
変数やアレイのインデックス式に保存されたすべての値で最も小さいものを返します。
max
変数やアレイのインデックス式に保存されたすべての値で最も大きいものを返します。
avg
変数やアレイのインデックス式に保存されたすべての値の平均を返します。
統計集計を使用する際には、複数のインデックス式 (最大 5 つ) を使用するアレイコンストラクトを構築することもできます。これは、プローブ中に追加のコンテキスト情報を捕捉する際に便利です。以下に例を示します。

例3.20 複数のアレイインデックス

global reads
probe vfs.read
{
  reads[execname(),pid()] <<< 1
}
probe timer.s(3)
{
  foreach([var1,var2] in reads)
    printf("%s (%d) : %d \n", var1, var2, @count(reads[var1,var2]))
}
例3.20「複数のアレイインデックス」 では、最初のプローブで各プロセスが実行した VFS read の数を追跡します。この例が他と異なる点は、このアレイは実行された read をプロセス名 それに対応するプロセス ID の両方に関連付けしている点です。
例3.20「複数のアレイインデックス」 の 2 つ目のプローブは、アレイ reads が収集した情報を処理してプリントする方法を示しています。foreach ステートメントは、最初のプローブのアレイ reads の最初のインスタンスに含まれる変数 (var1 および var2) と同じ数を使用している点に注意してください。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.