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:

  1. Develop your application with Tizen Studio.
  2. Compile and install the application to an emulator or Tizen device target.
  3. Verify the application on the target and fix any functional issues to fulfill the requirements.
  4. Profile the application with the Dynamic Analyzer.
  5. Study the tracing result and fix any performance issues.

Figure: Basic workflow using Dynamic Analyzer

Basic workflow using Dynamic Analyzer

Using the various profiling features of the Dynamic Analyzer, you can determine where your application can be optimized further.

Profiling Features

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

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
CPU Usage
Shows the total CPU usage made by target processes on a system and the CPU usage in percentages. Timeline
CPU Core Usage
Core Usage
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
CPU Core Frequency
Core Frequency
Shows the frequency of each core on a device in MHz. This feature is only available on devices, not on emulators. Timeline
Memory System Memory
System Memory
Monitors the maximum and used memory of the system, and the memory used by a process, in KB. Timeline
Memory Process Memory
Process Memory
Monitors a partition of the PSS, 3D, and GEM memory of a process in KB. Timeline
Memory Heap Allocation
Heap Allocation
Records all memory allocations and frees the requested allocations from the executable and shared libraries. This feature shows un-freed allocations (leak candidates). Memory
File System Disk IO
Disk IO
Shows the system I/O events, such as the occurrence of the read/write operations and the number of bytes in them. Timeline
File System File Analysis
File Analysis
Analyzes file activities, such as open, close, and lock operations, in a separate analysis view. File
Graphics OpenGL ES Analysis
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
Network Network IO
Network IO
Shows the number of bytes that the system sends and receives through the network. Timeline
Network Network Analysis
Network Analysis
Analyzes network activities, such as recv, send, bind, and accept operations, in a separate analysis view. Network
UI UI Event
UI Event
Shows the touch (press, move, release), gesture (distance, movement, angle), and orientation change events. Timeline
UI Screenshot
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 UI Hierarchy Analysis
UI Hierarchy Analysis
Analyzes the hierarchy and details of an EFL-based application using EFL UI objects (Evas, Elementary, and Edje). UI Hierarchy
Synchronization Thread Analysis
Thread Analysis
Analyzes the internal threads of a process and its synchronization operation. Thread
Energy Peripheral Status
Peripheral Status
Shows the on/off state of the Wi-Fi, Bluetooth, GPS, data network, and camera peripherals. Timeline
Energy Power Estimation
Power Estimation
Calculates the power consumption of the CPU, flash, LCD, Wi-Fi, and Bluetooth with an accurate estimation model. Timeline
  • Dependencies
    • Tizen Studio 1.0 and Higher