Oracle Solaris Studio 12.4 Man Pages

印刷ビューの終了

更新: January 2015
 
 

er_label(1)

名前

er_label - フィルタリングを容易にするための実験のラベル部分

形式

er_label arguments

説明

er_label は、永続的な名前が付いたラベルを使用して実験に注釈を付けるユーティリティーです。このラベルは指定された実験のサブセットを定義するものであり、これを使用して、実験データを検査するためのフィルタを構築できます。

時間ベースのラベル

時間ベースのラベルでは、開始マーカーと停止マーカーがサポートされます。各マーカーによって定義されたラベルには、任意の数の開始と停止のペアの間にあるすべてのプロファイルイベントが含まれます。最初の開始マーカーの前にある停止マーカーや、前の停止マーカーのあとにあり、その間に開始マーカーのない停止マーカーは無視されます。前の開始マーカーのあとにあり、その間に停止マーカーのない開始マーカーは無視されます。

時間マーカーは、現在の時間、現在の時間にオフセットを増減した時間、または実験内の親プロセスの開始時間を基準にしたオフセットとして指定できます。

異なるラベルに関連付けられたフィルタ条件やマーカーは、完全に独立しています。

必須オプション

必須オプション

er_label のすべての呼び出しで、ラベル名と実験名を指定する必要があります。

-o experiment

ラベルが適用される実験を指定します。指定できる実験は 1 つだけです。実験グループはサポートされていません。1 つの -o 引数が必要ですが、これをコマンド行の任意の場所に指定できます。

-n label-name

ラベルに名前を付けます。label-name は任意の長さで指定できますが、文字で始まる英数字である必要があり、文字列の前後に引用符が使用されている場合でもスペースを含めることはできません。label-name が存在する場合は新しい条件が追加され、存在しない場合はそのラベルが作成されます。1 つの -n 引数が必要ですが、これをコマンド行の任意の場所に指定できます。ラベル名は大文字と小文字が区別されません。ラベル名がフィルタ内に存在する可能性のあるほかの名前と競合してはいけません。これには、実験内のプロパティーや、メモリーオブジェクトまたはインデックスオブジェクトの名前が含まれます。ロードされた実験のプロパティーは、er_print describe コマンドで一覧表示されます。メモリーオブジェクトは、er_print mobj_list コマンドで一覧表示されます。インデックスオブジェクトは、er_print indxobj_list コマンドで一覧表示されます。

オプション

-C comment

ラベルについて説明するコメントを追加します。-C 引数は複数使用することができ、これらの引数はコメント間にセミコロンとスペースを挿入して連結されます。

-t {start|stop}[=time-specification]

実験内の時間範囲を定義する開始または停止ポイントを指定します。

等号のあとの time-specificationoffset として指定された場合は、実験の開始を基準にした時間を示します。等号のあとの time-specification が「@」として指定された場合は、現在の時間を示します。@+offset または @-offset として指定された場合は、現在の時間のあとまたは前の時間を示します。

offset は、次の形式で指定されます。

[[hh:]mm:]ss[.uuu]

時間、分、および 1 秒未満の端数はオプションですが、秒の設定は必須です。秒のフィールドだけが指定されている場合、その数値は 60 より大きくすることができ、必要に応じて時間と分に変換されます。時間のフィールドが指定されている場合、秒と分のフィールドは 0 から 59 までの範囲にある必要があります。時間のフィールドが指定されていない場合、分のフィールドは 60 より大きくすることができ、必要に応じて時間に変換されますが、秒のフィールドは 0 から 59 までの範囲にある必要があります。1 秒未満の端数は、希望する任意の精度で指定することができ、ナノ秒の精度で保存されます。

-t は 1 つのコマンドで複数指定することができ、左から右に処理されます。現在の時間を示す指定が複数存在する場合は、それらのすべてが、現在の時間 ("@") として取得される 1 つのタイムスタンプを示します。-t stop または -t start 引数のあとに等号と時間が指定されていない場合は、=@ が指定されていると見なされます。

使用モデル

使用モデル

クライアント駆動のサーバープロファイリング

er_label の 1 つの使用法として、独立した (1 つまたは複数の) プロセスとしてクライアントによって駆動されるサーバーのプロファイリングのサポートがあります。この使用モデルでは、実験はサーバー上で開始されます。サーバーが起動され、クライアントからリクエストを受け入れる準備ができたら、er_label の呼び出しを含むクライアントスクリプトを使用してサーバーを駆動できます。(下の例では、実験名が test.1.er であると仮定しています)。サーバーに対してリクエストが実行されるたびに時間ラベルを生成するサンプルのクライアントスクリプトは次のとおりです。

 
for REQ in req1 req2 req3 req4 req5
do

echo "=========================================================="
echo " $REQ started at `date`"

er_label -o test.1.er -n $REQ -t start=@
run_request $REQ
er_label -o test.1.er -n $REQ -t stop=@
done

作成される 5 つのラベルはそれぞれ、指定された要求の処理に消費された時間をマークします。

すべてのリクエストをカバーする 1 つのラベルを生成する別の使用法は次のようになります。

 
for REQ in req1 req2 req3 req4 req5
do

echo "=========================================================="
echo " $REQ started at `date`"

er_label -o test.1.er -n all -t start=@
run_request $REQ
er_label -o test.1.er -n all -t stop
done

最後の行の stop のあとに文字列がないことに注意してください。これは、デフォルトで stop=@ になります。より複雑なスクリプトを使用したり、このようなスクリプトを同じノードまたは別のノード上で同時に複数実行したりできます。各スクリプトのラベルは、同じ場合も異なる場合もあります。

その他の使用法

プログラムの開始後 15 秒から 10 分間にわたる実行の部分をカバーする、実験の開始を基準にしたラベルを定義するには、次のコマンドを使用します。

 
er_label -o test.1.er -n snap -t start=15 -t stop=10:15

関連項目

analyzer (1) , collect (1) , er_print (1)

パフォーマンスアナライザマニュアル