Monitoring and Analyzing Java Applications
Command Function
Diagnoses Java applications in monitoring and analysis modes.
Syntax
Parameter Description
Parameter |
Option |
Description |
|---|---|---|
-h/--help |
- |
Obtains help information. This parameter is optional. |
-a/--action |
monitor/report |
Working mode of the JVM Jitter Detector. This parameter is mandatory.
NOTE:
When jit.deoptimization is enabled for de-optimization detection, the devkit_odin.properties file is generated in the working directory (specified by the .cfg file). You need to change the value of MONITOR_JIT in the file to true (to enable monitoring). |
-e/--event |
jit.deoptimization/codecache.full/all |
Name of the event to be monitored or analyzed. The event can be a JIT de-optimization event or a code cache statistical event. This parameter is mandatory. If different events are specified in the command line and configuration file, the event specified in the command line prevails.
|
Parameter |
Option |
Description |
|---|---|---|
-p/--pid |
PID |
ID of the Java process to be monitored. This parameter is mandatory. |
-c/--config |
kunpeng_devkit.cfg |
Configuration file. The tool provides a template configuration file in the config/kunpeng_devkit.cfg directory. This parameter is optional. |
Parameter |
Option |
Description |
|---|---|---|
-f/--file |
- |
JFR file to be analyzed. This parameter is mandatory. |
-o/--output |
- |
Path to the generated flame graphs for JFR de-optimization events. The default path is /diag/data in the tool directory. This parameter is optional. |
Parameter File Description
If the tool directory is /home/DevKit-CLI-xx.xx.xx-Linux-Kunpeng, the reference path to the configuration file is /home/DevKit-CLI-xx.xx.xx-Linux-Kunpeng/diag/config/kunpeng_devkit.cfg.
The verification file can be used to check whether the .cfg file content is correct. The verification file path is /home/DevKit-CLI-xx.xx.xx-Linux-Kunpeng/diag/config/kunpeng_devkit.xsd.
Parameter |
Description |
|---|---|
<jvm.DeoptimizationStatistics> |
|
<enabled> |
Indicates whether to enable event collection. The default value is false. To enable event collection, change the value to true. |
<period> |
Sampling interval, which defaults to 1 second. Separate the number and unit using a space. The unit can be second, minute, hour, or day (ms/s/m/h/d). |
<duration> |
Sampling duration, which defaults to 0 seconds (indicating non-stop sampling). Separate the number and unit using a space. The unit can be second, minute, hour, or day (ms/s/m/h/d). |
<jitTraceThreshold> |
Threshold for triggering fine-grained JIT event collection, which defaults to 60 (calculated by computeMode) and must be greater than 0. |
<jitCollectDuration> |
Sampling duration for each fine-grained JIT event collection, which defaults to 10 seconds. |
<computeMode> |
Method for calculating the collection threshold, which defaults to deoptimizationCount. The options are as follows:
|
<jfrDirPath> |
Path to the JFR file generated by the collection event. The devkit_odin_jfr folder is generated in the custom directory. If you do not have the directory permission, the current working directory or /tmp directory is used. |
<totalJfrFileSize> |
Maximum total size of all JFR files in the devkit_odin_jfr folder, in MB, which defaults to 200 MB. The value 0 indicates that the size is not limited. |
<singleJfrFileSize> |
Maximum size of each single JFR file, in MB, which defaults to 12 MB. The value 0 indicates that the size is not limited. |
<CompilerInlining> |
Adds method inlining event collection. The default value is false. |
<Compilation> |
Adds compilation event collection. The default value is false. |
<CompilationFailure> |
Adds compilation failure event collection. The default value is false. |
<CompilerConfiguration> |
Adds compilation configuration event collection. The default value is false. |
<CompilerPhase> |
Adds compilation phase event collection. The default value is false. |
<JITRestart> |
Adds restart event collection. The default value is false. |
<jvm.CodeCacheStatistics> |
|
<enabled> |
Indicates whether to enable event collection. The default value is false. To enable event collection, change the value to true. |
<period> |
Sampling interval, which defaults to 1 second. Separate the number and unit using a space. The unit can be second, minute, hour, or day (ms/s/m/h/d). |
<duration> |
Sampling duration, which defaults to 0 seconds (indicating non-stop sampling). Separate the number and unit using a space. The unit can be second, minute, hour, or day (ms/s/m/h/d). |
<codeCacheTraceThreshold> |
Threshold for triggering fine-grained code cache event collection. The default value is 0.35 (percentage of code cache events to all events). The value ranges from 0 to 1. |
<codeCacheAlarmThreshold> |
Threshold for triggering code cache event alarms. The default value is 0.75 (percentage of code cache events to all events). The value ranges from 0 to 1. |