slowmethods
usage: slowmethods [ -all ] [ -class regexp ] [ -threshold <byte code size> ]
This command enables you to list too long methods including more than 8000 byte code instructions (or the size set by the -threshold <byte code size>
option). When there are too many byte code instructions in a method, they tend to run very slowly because the JVM will not be able to perform a proper JIT compilation. This will result in lower runtime performance.
Hint!
Two methods including 7000 byte code instructions is a better alternative than one method with 14000 instructions.
The following is an example of mzsh mzadmin/dr slowmethods
output:
Example.
Scanned 20 classes
The following methods have too many byte code instructions:
9393 Folder.Workflow.Agent.method: Default.myWorkflow.RequestAnalysis.consume
9393
is the method size in bytes. Default
is the folder where the workflow is stored, myWorkflow
is the name of the workflow, RequestAnalysis
is the agent that includes the too long method, and consume
is the method.
Note!
If the workflow configuration cannot be retrieved using an internal key, the class and method name will be returned instead, as in the following example:
8930
is the method size in bytes, com.mysql.jdbc.DatabaseMetaData
is the class name and getTypeInfo
is the too long method.
Option | Description |
---|---|
[-all] | Use this option to search through all code in the cache, not only the APL code. |
[-class <regexp>] | Use this option to add a regular expression to be matched when searching through the code. For example, |
[-threshold <byte code size>] | Use this option to set a byte code threshold, to be able to list slow methods with a byte code size lower than "8000". |
Return Codes
Listed below are the different return codes for the slowmethods
command:
Code | Description |
---|---|
1 | Will be returned if an argument is invalid. |