8.23.2 Trace information that can be collected
This subsection describes the trace information of the user-extended trace based performance analysis.
- Organization of this subsection
(1) Trace information of the user-extended trace based performance analysis
The following table describes the trace information of the user-extended trace based performance analysis.
No. in the figure#1 |
Information that you can acquire |
||||
---|---|---|---|---|---|
Event ID (Event) |
Return code (Rc) |
Interface name (INT) |
Operation information (OPR) |
Additional information#2 (OPT/ASCII#3) |
|
1 |
Event ID specified in the configuration file for the user-extended trace based performance analysis. When not specified, 0xae00. |
0 |
Identity ID specified by the user in the configuration file for the user-extended trace based performance analysis. |
-- |
The following information is output:
|
2 |
Event ID specified in the configuration file for the user-extended trace based performance analysis + 1. When not specified, 0xae01. |
0 |
Identity ID specified by the user in the configuration file for the user-extended trace based performance analysis. |
Line number of the text executed last by the method #4. |
The following information is output:
|
3 |
Event ID specified in the configuration file for the user-extended trace based performance analysis +1. When not specified, 0xae01. |
1 |
Identity ID specified by the user in the configuration file for the user-extended trace based performance analysis. |
Class name of the exception or error#5. |
The following information is output:
|
- Legend:
-
--: No output.
- #1:
-
Corresponds to the numbers in Figure 8-94.
- #2:
-
The user-extended trace based performance analysis outputs the method name with the output level specified in the jvm.userprf.LogLevel property. For details on the output levels and the information output at each level, see (2) Output levels.
- #3:
-
If the additional information output to the ASCII area exceeds 256 ASCII characters, 256 characters are output from the beginning.
- #4:
-
Output when true is specified for the jvm.userprf.LineNumber property. For details on the jvm.userprf.LineNumber property, see 14.3 Properties used in JavaVM in the manual uCosminexus Application Server Definition Reference Guide.
- #5:
-
When true is specified for the jvm.userprf.ThrowableName property, the class name is output with the output level specified in the jvm.userprf.LogLevel property, and the editing method specified in the jvm.userprf.ThrowableNameEditMethod property. For details on the jvm.userprf.ThrowableName and jvm.userprf.ThrowableNameEditMethod properties, see 14.3 Properties used in JavaVM in the manual uCosminexus Application Server Definition Reference Guide.
(2) Output levels
You specify the trace information output level for the user-extended trace based performance analysis in the jvm.userprf.LogLevel property.
The following table describes the output levels and the trace information that is output.
Specification in the jvm.userprf.LogLevel property |
Additional information (OPT/ASCII) |
Operation information for abnormal exit of the method (OPR) |
---|---|---|
class |
Class name |
Class name of the exception or error |
package |
Fully qualified class name |
Fully qualified class name of the exception or error |
method |
Fully qualified class name + method name |
|
signature |
Fully qualified class name + method name + method argument type |
For details on the jvm.userprf.LogLevel property, see 14.3 Properties used in JavaVM in the manual uCosminexus Application Server Definition Reference Guide.
(3) Example of output of the user-extended trace based performance analysis
The following are the examples of output of the user-extended trace based performance analysis.
(a) Example when the output contents of the trace information are not changed
The following is an example of settings when the output contents of the trace information are not changed:
- Example of settings in the Easy Setup definition file
... <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> ...
- Output contents
-
Event
Rc
INT
OPR
ASCII
0xae00
0
test00
(Blank)
ClassA
0xae01
0
test00
(Blank)
ClassA
The trace information is output as follows in this example:
-
The event ID settings are omitted for the method to be traced, so if the method to be traced is invoked, the default value of 0xae00 is output as the event ID at the method entry, and 0xae01 is output as the event ID at the method exit.
-
(b) Example for the output of the line number in the operation information
The following is an example of settings when the configuration file for the user-extended trace based performance analysis (/test/setting.txt) is used to output the line number in the operation information:
- Example of settings in the Easy Setup definition file
... <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> ...
- Example of settings in the configuration file for the user-extended trace based performance analysis (setting.txt)
com.sample.ClassA.method1(java.lang.String),test00,false,0xae77 com.sample.ClassB.method2(boolean),test01.false
- Output contents
-
jvm.userprf.LineNumber=true is specified in this example, so the line number executed last by each method is output in the operation information (OPR area) if the method exits normally.
Event
Rc
INT
OPR
ASCII
0xae77
0
test00
(Blank)
ClassA
0xae78
0
test00
324
ClassA
0xae00
0
test01
(Blank)
ClassB
0xae01
0
test01
15
ClassB
The trace information is output as follows in this example:
-
In the second line specified in the configuration file for the user-extended trace based performance analysis, the event ID settings are omitted for the method to be traced, so if the method to be traced is invoked, the default value of 0xae00 is output as the event ID at the method entry, and 0xae01 is output as the event ID at the method exit.
-
(c) Example for the output of the exception or error class name
The following is an example of settings when the class name of the thrown exception is output in the operation information (OPR area) if the method exits abnormally. Note that this example describes the case in which ClassC exists in the subclass ClassA, and ClassA.method1 is overridden in ClassC.
- Example of settings in the Easy Setup definition file
... <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> ...
- Output contents
-
Event
Rc
INT
OPR
ASCII
0xae0a
0
test00
(Blank)
ClassA
0xae0b
0
test00
324
ClassA
0xae0a
0
test00
(Blank)
ClassC
0xae0b
1
test00
IOException
ClassC
The trace information is output as follows in this example:
-
true is set in the subclass flag, so the information of ClassC.method1 that overrides ClassA.method1 is also output.
-
jvm.userprf.LineNumber=true is specified, so the line number executed last by each method is output in the operation information (OPR area) if the method exits normally.
-
jvm.userprf.ThrowableName=true is set, so the class name of the thrown exception is output in the operation information (OPR area) if the method exits abnormally. However, the jvm.userprf.LogLevel property is not specified, so only the class name of the thrown exception is output.
-
(d) Example of changing the output method of the exception or error class name
The following is an example of settings when the output method of the exception or error class name is changed.
- Example of settings in the Easy Setup definition file
... <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> ...
- Output contents
-
Event
Rc
INT
OPR
ASCII
0xae00
0
test00
(Blank)
com.sample.ClassA.method1
0xae01
1
test00
*ment.IllegalClassFormatException
com.sample.ClassA.method1
The trace information is output as follows in this example:
-
The event ID settings are omitted for the method to be traced, so if the method to be traced is invoked, the default value of 0xae00 is output as the event ID at the method entry, and 0xae01 is output as the event ID at the method exit.
-
jvm.userprf.ThrowableName=true is specified, so the exception or error class name is output to the operation information (OPR area) if the method exits abnormally. However, the thrown exception name is 33 characters or more and jvm.userprf.ThrowableNameEditMethod=FRONT_CUT is specified, so the name is output with the front part omitted. The omitted part is displayed using * (asterisk).
-
jvm.userprf.LogLevel=method is specified, so the fully qualified class name + method name is output in the additional information (ASCII area).
-