The Report command in the Jade User Interrupt Profiler submenu outputs profile statistics of times spent in JADE and external methods to a file. (In JADE thin client mode, profiler output is always output to the workstation that is running the JADE logic; that is, to the application server.)
To output profile statistics to a report file
Select the Report command from the Jade User Interrupt Profiler submenu.
The profile statistics are then output to theJadeProfiler_application‑name_yyyyMMdd_hhmmss.log file in the path specified by the
If a path is not specified in this parameter, the file is located in the log file directory, specified by using the
You can view your profile output by using a text editor or you can output it to a printer, if required.
The statistics provided by the profile report enable you to optimize the code of your methods in the JADE development environment by analyzing the performance of your methods at run time.
The report produced by this method can contain six sections, as follows.
The "methods in actual time order" table lists all JADE and external methods that are called, in the order of the actual time spent in each method. This information contains:
The number of times that the method was called
The minimum, maximum, and average duration of each call (in milliseconds)
The percentage of the profiling time
When running the application in multiuser mode, the schema, class, and method names are followed by the method execution location if the method executes on the server node; for example, ErewhonInvestmentsViewSchema::Sale::loadData(server).
No method location is output for methods executing locally. Details are output for both nodes if a method executes both locally and on the server.
The "methods in total time order" table lists the methods that were called, in the order of the total elapsed time that was spent in each method.
The time spent in methods called from each method is included in this table.
It is recommended that when investigating application performance, only one of the JADE Profiler, JADE Monitor, or method profiling is used at any one time, as the results reported when any of these are combined is undefined.
The "methods in total load time order" table lists the method load times, in the order of time each method took to load. This table lists the:
Total time taken to load the method
Number of times that the method was loaded
Average load time (that is, total load time divided by the number of times that the method was loaded)
Schema, class, and name of the method
Use this table to monitor the frequency of method loads so that you can increase the interpreter method cache size if methods are frequently being loaded and exceeding the method cache, by using the
Methods already loaded in the cache before profiling started are not reported in this table. (You can use the
The "methods ordered by method size" table lists the:
Size (in bytes) of the method in cache
Number of calls to the method
Number of times that the method was loaded
Hit rate percentage of the method (that is, the number of times the method was found in cache divided by the number of times the method was executed)
Schema, class, and name of the method
In addition, this table contains the total size (in bytes) of all methods executed.
On JADE client nodes, the interpreter method cache holds the code for methods executed on that node. Use the
The "cache statistics" section of profile information contains the method cache limit and the total maximum size to which the method cache grew during the profiling session.
The cache statistics include the number of methods that were discarded from the cache to make room for new methods during the profiler run. If there were discarded methods, the total size of the methods discarded is also listed.
If the method cache overflowed (that is, the cache size exceeds the maximum size specified and all methods in the cache were in use and could be discarded), a table lists the:
Amount by which the cache limit was exceeded, in ascending order of ten percentage points (for example, 10%, 20%, 30%, and so on up to 100+%, in units of 10 percentage points)
Size of the method cache at that level (that is, the cache limit plus the exceeded amount)
Number of times the cache was exceeded
When a JADE method is executed, the JADE interpreter must load the method code into cache for execution. If a method is called frequently, tuning the
The "string pool statistics" provide the string pool limit, the maximum size to which the pool grew, and the number of method calls in which the limit was exceeded.
For details about specifying the string pool limit, see the
The "system statistics" table lists the global system-wide statistics for the duration of the profile session. These values are those returned by the
As statistics values are accumulated by the server, they include all system activity that occurred while the profiler was active.
If the application is running in multiuser mode and other users are accessing that application or any other application (regardless of the profiling setting), the system statistics therefore include all user operations for all applications that were running for the duration of the profile activity.
The system statistics are listed in the following table.
Statistic | Example |
---|---|
Committed transactions | 64177 |
Aborted transactions | 20 |
Get objects | 201594 |
Queued locks | 3 |
Objects created | 532 |
Objects deleted | 449 |
Objects updated | 86609 |
Objects locked | 226709 |
Objects unlocked | 40647 |
Begin notifications | 271 |
End notifications | 183 |
Delivered notifications | 597 |
Server method executions | 3 |
When you select the Report command and there is an existing profile file, records are appended to existing records, indicated by start and finish times.