Oracle® Solaris Studio 12.4: パフォーマンスアナライザ

印刷ビューの終了

更新: 2015 年 1 月
 
 

スクリプトでの er_label の使用

er_label の使用方法の 1 つは、クライアントによって独立した 1 つ以上のプロセスとして駆動されるサーバープログラムのプロファイリングをサポートすることです。この使用モデルの場合、サーバーでの実験の作成を開始するため、collect コマンドを使ってサーバーを起動します。サーバーが起動され、クライアントの要求を受け入れる準備が整ったら、要求を発行してサーバーを駆動するとともに、er_label を実行してクライアント要求が発生する実験の部分にラベルを付けるようなクライアントスクリプトを実行できます。

次のサンプルクライアントスクリプトは、サーバーに対して実行された要求ごとに、test.1.er 実験に時間ラベルを生成します。作成される 5 つのラベルはそれぞれ、指定された要求の処理に消費された時間をマークします。

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

次のサンプルスクリプトは、すべての要求を含む all という単一のラベルを生成する別の使用方法を示しています。

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

er_label の 2 番目の呼び出しでは、–t stop のあとに時間指定がないため、デフォルトで stop=@ となります。

より複雑なスクリプトを作成し、複数のスクリプトを同時に同じノードまたは異なるノードで実行できます。すべてのノードからアクセスできる共有ディレクトリに実験が置かれている場合、スクリプトは同じ実験に間隔をマークできます。各スクリプトのラベルは、同じ場合も異なる場合もあります。