Monitoring Performance with Dynamic Analyzer
The Dynamic Analyzer is a performance monitoring and analysis tool for your native applications on a Tizen device or the emulator. The main focus of the Dynamic Analyzer is to analyze your application for potential performance issues, such as high usage of CPU, memory, file, or network operations.
The Dynamic Analyzer is designed to analyze performance issues on your application after development, to help you optimize the application. The following figure shows the basic workflow for how the Dynamic Analyzer works with other Tizen tools:
- Develop your application with Tizen Studio.
- Compile and install the application to an emulator or Tizen device target.
- Verify the application on the target and fix any functional issues to fulfill the requirements.
- Profile the application with the Dynamic Analyzer.
- Study the tracing result and fix any performance issues.
Figure: Basic workflow using Dynamic Analyzer
Using the various profiling features of the Dynamic Analyzer, you can determine where your application can be optimized further.
When the Dynamic Analyzer is launched, a feature selection dialog opens. You can select the available features for your profiling based on the selected target profile.
Figure: Feature selection dialog
The following table lists the supported features on the Dynamic Analyzer. Every feature is placed onto a specific group (CPU, Memory, File System, Graphics, Network, UI, Synchronization, or Energy) to help you understand the profiling category.
Table: Available features
|Group||Feature||Description||Page tab where shown|
|Shows the total CPU usage made by target processes on a system and the CPU usage in percentages.||Timeline|
|Shows the usage of each core on a device (or an emulator) in percentages. The number of series on the chart depends on the number of cores.||Timeline|
|Shows the frequency of each core on a device in MHz. This feature is only available on devices, not on emulators.||Timeline|
|Monitors the maximum and used memory of the system, and the memory used by a process, in KB.||Timeline|
|Monitors a partition of the PSS, 3D, and GEM memory of a process in KB.||Timeline|
|Records all memory allocations and frees the requested allocations from the executable and shared libraries. This feature shows un-freed allocations (leak candidates).||Memory|
|Shows the system I/O events, such as the occurrence of the read/write operations and the number of bytes in them.||Timeline|
|Analyzes file activities, such as open, close, and lock operations, in a separate analysis view.||File|
OpenGL ES Analysis
|Analyzes OpenGL® (Open Graphics Library) 2.0 and EvasGL information used on a process. It shows detailed OpenGL® API lists, and context, program, and texture information at a particular point in time.||OpenGL ES|
|Shows the number of bytes that the system sends and receives through the network.||Timeline|
|Analyzes network activities, such as recv, send, bind, and accept operations, in a separate analysis view.||Network|
|Shows the touch (press, move, release), gesture (distance, movement, angle), and orientation change events.||Timeline|
|Shows a series of screenshot events taken by a user. It can be set to capture a screenshot during each screen transition or at specific time intervals.||Timeline|
UI Hierarchy Analysis
|Analyzes the hierarchy and details of an EFL-based application using EFL UI objects (Evas, Elementary, and Edje).||UI Hierarchy|
|Analyzes the internal threads of a process and its synchronization operation.||Thread|
|Shows the on/off state of the Wi-Fi, Bluetooth, GPS, data network, and camera peripherals.||Timeline|
|Calculates the power consumption of the CPU, flash, LCD, Wi-Fi, and Bluetooth with an accurate estimation model.||Timeline|
- Tizen Studio 1.0 and Higher