Hitachi

uCosminexus Application Server Maintenance and Migration Guide


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.

Table 8‒129: 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:

  • Package name

  • Class name

  • Method name

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:

  • Package name

  • Class name

  • Method name

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:

  • Package name

  • Class name

  • Method name

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.

Table 8‒130: Specification of 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).