## Method Timing

Method timing report provides an intuitive view of the methods with their execution timings. This helps in getting the information, such as which methods are taking more time in the execution and causing an issue in the overall execution of the query or business transaction.

Method timing has the following option:

- Methods Stats
- Method Summary

## Method Stats

This report displays the details of method timings in the form of a Pie chart. User can identify which method is taking a huge amount of time to execute. By clicking the pie chart, will provide the details for the methods along with the Method Summary and related packages and classes.

We can view the chat by percentage and by count both in two different parts.

## Method Summary

- Package: It displays the package to which the called method belongs. A package is a group of similar types of classes, interfaces, and sub-packages.
- Class: It displays the class to which the called method belongs. A class is a group of objects which have common properties.
- Method: It is the method the user is analyzing. A method is a block of code or a set of code grouped to perform a certain task or operation.
- Functional Group Method: Displays the name of the method within a functional group that provides the identifier for a specific method categorized under a functional group.
- Fully Qualified Name with Signature: Displays the complete and unique name of the method, along with its signature that offers a precise identifier for the method, including parameter types and return values.
- CumWallTime: The total time taken for all invocations of the method: Represents the combined duration of the method's execution across all invocations, accounting for the actual time elapsed, including waiting periods and external delays.
- Percentage: Represents the proportion, in percentage, of the total time taken to execute all method invocations that indicates the relative contribution of the method's execution time to the overall time spent across all invocations.
- AvgWallTime: The average time taken for all invocations of the method: Reflects the typical duration for the method's execution across all invocations, considering the actual time elapsed, including any waiting periods or external delays.
- CumSelftime(sec): The combined self-time taken for all invocations of the method, measured in seconds represents the total duration the method has spent executing across all invocations.
- AvgSelfTime(ms): The average time taken for a single method invocation's self-execution, measured in milliseconds that offers insight into the typical duration of the method's execution on its own.
- CumCpuSelfTime: The accumulated CPU self-time taken for all invocations of the method: Represents the overall CPU processing time used by the method across all executions.
- AvgCpuSelfTime(ms): The average amount of CPU self-time taken for all invocations of the method, measured in milliseconds: Illustrates the typical CPU processing time consumed by the method across multiple executions.
- Count: The total number of times a method has been invoked: Reflects the frequency of method usage or execution.
- MinSelfTime(ms): The shortest duration of self-execution for a single method invocation, measured in milliseconds that indicates the minimum time taken by a method to complete a single execution, providing insight into its efficiency.
- MaxSelfTime(ms): "MaxSelfTime (ms)" measures the longest time, in milliseconds, that a single method takes to run without considering external calls. This helps identify performance issues and optimize method efficiency.
- WaitTime: Any thread-consuming time on the wait method that measures the time a process spends waiting for resources or dependencies, aiding in resource optimization and performance improvement.
- Sync Time: Any thread stuck before a synchronized block or synchronized method due to the lock not being available.
- IOTime(ms): Thread pauses time due to input/output operations measure the milliseconds spent on input and output operations, reflecting data transfer efficiency and system performance.
- Suspension Time(ms): "Suspension Time (ms)" is the period, measured in milliseconds, when a process or operation is briefly paused, often due to resource limitations or system interruptions. Here it shows the Thread pause time due to Java GC.

## Additional Options

- Column Filter: In this, you can perform the search operation on a particular column by entering the details on the respective columns. To perform this operation, you have to click on the Column Filter icon.
- Show/Hide Columns: In this, you can show/hide a particular column from the Method timing To perform this operation, you have to click on the Show/Hide Column icon and then select the option you want to show/hide by clicking on their respective checkbox.
- Search: In this, you can perform a search operation on the Method Timing To perform the search operation, you have to provide the respective field names on the field Search bar. You can also apply the search operation on a particular column by providing the thread ID, thread name, etc on their respective Search bar.

## Global Action Items

- Downloads: By clicking on download buttons individually, the method summary can be download in Word, PDF, or Excel formats as per requirement.
- Exclude level1 flowpath: Exclude flowpaths of the first level.
- Show summary of all packages: By default, the user should be able to see the graph and summary at the method level. Using this option, graphical representation and summary can be seen at the package level.
- Show summary of all classes: By default, the user should be able to see the graph and summary at the method level. Using this option, graphical representation and summary can be seen at class level.
- Show summary of all methods: By default, the user should be able to see the graph and summary at the method level.
- To start the dynamic diagnostics, click on the Click to Start Dynamic Diagnostics icon.