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:

Example.

8930 com.mysql.jdbc.DatabaseMetaData.getTypeInfo

8930 is the method size in bytes, com.mysql.jdbc.DatabaseMetaData is the class name and getTypeInfo is the too long method.

OptionDescription

[-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, mzsh mzadmin/dr slowmethods -class com.<product>.* will only search for classes and packages in com.<product>.

[-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:

CodeDescription

1

Will be returned if an argument is invalid.