Profile Application and Platform Performance Metrics
The App/Platform Profiler is an add-on to the established AppCOE Eclipse based code migration and API optimization technology and is designed to enable data collection.
App/Platform Profiler offers the following:
- The data collected by the Profiler provides feedback concerning the utilization of MapuSoft‘s APIs in the project.
- The reports allow for performance impact analysis by detailing specific API execution time during a particular time period as well as the average and total API execution times.
- It enables you to collect data pertaining to the MapuSoft API‘s (Platform API profiling) and profiling user specific functions (Application Profiling).
- Users can analyze the data with the included App/Platform Profiler graphical viewer which offers area, bar, line, pie, and scatter charts, as shown in Figure 1.
- Profiler enables you to generate a Timing report to view the performance report for each API.
- App/Platform Profiler now enables you to generate Timing Comparison Report. This compares two different timing reports and compares the performance report for an API at different time and different values.
Figure 1: App/Platform Profiler
Components on the App/Platform Profiler Window:
App/Platform Profiler window contains two panes. The left pane has three Profiler components listed and on the right pane, you can view the respective details and information in a graphical view.
The three main components of App/Platform Profiler are:
1. System
This displays the system details of your application as shown in Figure 2. If you select System tab you have the following details which are displayed on the right pane as shown in Figure 2.
- Application Info–Application property values
- Profiler Configuration–Profiling Application values
Figure 2: App/Platform Profiler – System Details
2. Functions
This displays all the functions called in the application and the time taken to execute these functions as shown in Figure 3.
Figure 3: App/Platform Profiler System
Read More…
- Average Function execution time
- Function with the longest execution time
- Function with the shortest execution time
- Number of Functions called in application
On the left pane, expand the Functions tab. It displays the following information as shown in Figure 4.
- Platform APIs
- Application Functions
Figure 4: Platform APIs and Application Functions
Platform APIs
These are all the OS Abstractor Interface functions called in the application. On the x-axis, all the functions are displayed. On the y-axis, all functions iterations are displayed. On the bottom of the window the function properties are displayed such as:
- Average Function execution time
- Function with the longest execution time
- Function with the shortest execution time
- Number of OS Abstractor Interface Functions called in application
If you expand the Platform APIs, you can view all the platform APIs called in the application as shown in Figure 5. On the bottom of the window, the function properties are displayed such as:
- Average execution time
- Instance with the longest execution time The Task _1in square brackets denote that these function properties belong to the Task 1 Thread.
- Instance with the shortest execution time
- Total number of times function was called
If you click on a Platform API, you can view the number of instances of the specific function on the x-axis and the time taken for each API on the y-axis.
On top of the profiler view, you can view different measures of time such as:
- Seconds
- milli seconds
- micro seconds
- nano seconds as highlighted in the Figure 5
This is used to capture the time taken for each instance of the function in different time measures. If you click on nano seconds, the time graph will be shown as Time (nano seconds) as shown in the Figure 5.
Figure 5: Application – Functions
Application Functions:
These are all the user specific functions called in the application. On the x-axis, all the user specific functions are displayed. On the y-axis, all functions iterations are displayed. On the bottom of the window the function properties are displayed as shown in Figure 6 such as:
- Average Function execution time
- Function with the longest execution time
- Function with the shortest execution time
- Number of times Application Functions are called in application
Figure 6: Application – Functions
3. Threads
Threads are created to execute any function in an application. IN App/Platform Profiler you can view the Thread properties by expanding the Thread tab as shown in Figure 7. On the bottom of the window the thread properties are displayed as shown in Figure 7 such as:
- Average Function execution time
- Instance with the longest total execution time
- Instance with the shortest total execution time
- Number of Functions used by this thread
- Thread ID
Figure 7: App/Platform Profiler – Threads
Read More…
Tasks
These are functions called for each task. If you expand the Task tab, you have the following as already discussed under the Functions tab:
- Platform APIs
- Application Functions
Viewing App/Platform Profiler Data:
- Open the App/Platform Profiler perspective.
- From the AppCOE main menu, select Tools >Load Profiler Data File as shown in Figure 8.
Figure 8: App/Platform Profiler – Threads
NOTE: This feature requires a license. Click http://mapusoft.com/downloads to request an evaluation license.