Cosminexus V9 アプリケーションサーバ 機能解説 保守/移行編
ユーザ拡張性能解析トレースのトレース情報について説明します。
ユーザ拡張性能解析トレースのトレース情報を次の表に示します。
表8-191 ユーザ拡張性能解析トレースのトレース情報
| 図中の番号※1 | 取得できる情報 | ||||
|---|---|---|---|---|---|
| イベントID (Event) |
リターンコード(Rc) | インタフェース名(INT) | オペレーション情報(OPR) | 付加情報※2 (OPT/ASCII※3) |
|
| 1 | ユーザ拡張性能解析トレース設定ファイルで指定したイベントID。 指定しない場合は,0xae00。 |
0 | ユーザ拡張性能解析トレース設定ファイルでユーザが指定した識別ID。 | − | 次の情報が出力されます。
|
| 2 | ユーザ拡張性能解析トレース設定ファイルで指定したイベントIDに+ 1した値。 指定しない場合は,0xae01。 |
0 | ユーザ拡張性能解析トレース設定ファイルでユーザが指定した識別ID。 | メソッドの最後に実行した文の行番号※4。 | 次の情報が出力されます。
|
| 3 | ユーザ拡張性能解析トレース設定ファイルで指定したイベントIDに+1した値。 指定しない場合は,0xae01。 |
1 | ユーザ拡張性能解析トレース設定ファイルでユーザが指定した識別ID。 | 例外またはエラーのクラス名※5。 | 次の情報が出力されます。
|
(凡例)−:出力なし。
注※1 図8-119中の番号と対応しています。
注※2 ユーザ拡張性能解析トレースは,jvm.userprf.LogLevelプロパティに指定した出力レベルでメソッド名を出力します。出力レベルと各レベルで出力される情報については,「(2) 出力レベル」を参照してください。
注※3 ASCII領域に出力され付加情報が,ASCII文字で256文字を超えていた場合,前から256文字が出力されます。
注※4 jvm.userprf.LineNumberプロパティにtrueを指定した場合に出力されます。jvm.userprf.LineNumberプロパティについては,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「16.3 JavaVMで使用するプロパティ」を参照してください。
注※5 jvm.userprf.ThrowableNameプロパティにtrueを指定した場合,jvm.userprf.LogLevelプロパティに指定した出力レベル,およびjvm.userprf.ThrowableNameEditMethodプロパティに指定した編集方法でクラス名が出力されます。jvm.userprf.ThrowableNameプロパティおよびjvm.userprf.ThrowableNameEditMethodプロパティについては,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「16.3 JavaVMで使用するプロパティ」を参照してください。
jvm.userprf.LogLevelプロパティで,ユーザ拡張性能解析トレースのトレース情報の出力レベルを指定します。
出力レベルと出力されるトレース情報を次の表に示します。
表8-192 出力レベルの指定とトレース出力情報
| jvm.userprf.LogLevelプロパティの指定 | 付加情報(OPT/ASCII) | メソッドの異常出口のオペレーション情報(OPR) |
|---|---|---|
| class | クラス名 | 例外またはエラーのクラス名 |
| package | 完全修飾クラス名 | 例外またはエラーの完全修飾クラス名 |
| method | 完全修飾クラス名+メソッド名 | |
| signature | 完全修飾クラス名+メソッド名+メソッドの引数の型 |
jvm.userprf.LogLevelプロパティについては,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「16.3 JavaVMで使用するプロパティ」を参照してください。
ユーザ拡張性能解析トレースの出力例を次に示します。
トレース情報の出力内容を変更しない場合の設定例を次に示します。
: <param> <param-name>UserPrfText</param-name> <param-value> <![CDATA[ com.sample.ClassA.method1(int),test00,false ]]> </param-value> </param> <param> <param-name>add.jvm.arg</param-name> <param-value>-Djvm.userprf.Enable=true</param-value> </param> : |
| Event | Rc | INT | OPR | ASCII |
|---|---|---|---|---|
| 0xae00 | 0 | test00 | (空白) | ClassA |
| 0xae01 | 0 | test00 | (空白) | ClassA |
ユーザ拡張性能解析トレース設定ファイル(/test/setting.txt)を使用して,オペレーション情報に行番号を出力する場合の設定例を次に示します。
: <param> <param-name>add.jvm.arg</param-name> <param-value>-Djvm.userprf.Enable=true</param-value> <param-value>-Djvm.userprf.File=/test/setting.txt</param-value> <param-value>-Djvm.userprf.LineNumber=true</param-value> </param> : |
com.sample.ClassA.method1(java.lang.String),test00,false,0xae77 com.sample.ClassB.method2(boolean),test01.false |
| Event | Rc | INT | OPR | ASCII |
|---|---|---|---|---|
| 0xae77 | 0 | test00 | (空白) | ClassA |
| 0xae78 | 0 | test00 | 324 | ClassA |
| 0xae00 | 0 | test01 | (空白) | ClassB |
| 0xae01 | 0 | test01 | 15 | ClassB |
例外のクラス名をメソッド異常出口のオペレーション情報(OPR領域)に出力する場合の設定例を次に示します。なお,この例ではClassAのサブクラスにClassCが存在し,ClassCでClassA.method1をオーバーライドしている場合について説明します。
: <param> <param-name>UserPrfText</param-name> <param-value> <![CDATA[ com.sample.ClassA.method1(),test00,true,0xae0a ]]> </param-value> </param> <param> <param-name>add.jvm.arg</param-name> <param-value>-Djvm.userprf.Enable=true</param-value> <param-value>-Djvm.userprf.LineNumber=true</param-value> <param-value>-Djvm.userprf.ThrowableName=true</param-value> </param> : |
| Event | Rc | INT | OPR | ASCII |
|---|---|---|---|---|
| 0xae0a | 0 | test00 | (空白) | ClassA |
| 0xae0b | 0 | test00 | 324 | ClassA |
| 0xae0a | 0 | test00 | (空白) | ClassC |
| 0xae0b | 1 | test00 | IOException | ClassC |
発生した例外またはエラーのクラス名の出力方式を変更した場合の設定例を次に示します。
: <param> <param-name>UserPrfText</param-name> <param-value> <![CDATA[ com.sample.ClassA.method1(),test00,false ]]> </param-value> </param> <param> <param-name>add.jvm.arg</param-name> <param-value>-Djvm.userprf.Enable=true</param-value> <param-value>-Djvm.userprf.ThrowableName=true</param-value> <param-value>-Djvm.userprf.ThrowableNameEditMethod=FRONT_CUT</param-value> <param-value>-Djvm.userprf.LogLevel=method</param-value> </param> : |
| Event | Rc | INT | OPR | ASCII |
|---|---|---|---|---|
| 0xae00 | 0 | test00 | (空白) | com.sample.ClassA.method1 |
| 0xae01 | 1 | test00 | *ment.IllegalClassFormatException | com.sample.ClassA.method1 |
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.