検索

3.4. 連想アレイ

download PDF
SystemTap は、連想アレイの使用もサポートします。通常の変数は単一の値を表しますが、連想アレイでは値の集合を表すことができます。簡単に言うと、連想アレイは一意のキーの集合です。アレイ内のそれぞれのキーにそれに関連する値があります。
(これより後で紹介するように) 連想アレイは通常複数のプローブで処理されるので、SystemTap スクリプトでは global 変数として宣言されるべきです。連想アレイ内の要素にアクセスする構文は awk の構文と似ており、以下のようになります。
array_name[index_expression]
ここで array_name は、アレイが使用する任意の名前です。index_expression は、アレイ内の特定の一意のキーを見るために使用されます。例として、tomdick、および harry という 3 人の年齢 (一意のキー) を指定する、arr という名前のアレイを構築してみましょう。それらにそれぞれ 23、24、および 25 の年齢 (関連付けられた値) を割り当てるには、次のアレイステートメントを使用します。

例3.11 基本的なアレイステートメント

arr["tom"] = 23
arr["dick"] = 24
arr["harry"] = 25
アレイステートメント内では最大 9 つのインデックス式を指定することができ、それぞれをコンマ (,) で区切ります。これは、キーに複数の情報が含まれる場合に便利です。例4.9「disktop.stp」 からの以下の行では、プロセス ID、実行可能ファイル名、ユーザー ID、親プロセスの ID、および文字列 W という 5 つの要素を使用しています。ここでは、devname の値をキーに関連付けています。
device[pid(),execname(),uid(),ppid(),"W"] = devname
重要
連想アレイは、単一プローブで使用されるか複数プローブで使用されるかに関わらず、すべてを global と宣言する必要があります。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.