Performance Analysis Kit Terminology

General

Log Version

Log version refers to the system version where the logging feature is enabled. It records various system running information, including the running status of applications, system error information, and debugging information. You can use hdc or a third-party application to view and analyze the information for debugging and optimization.

On the device, you can go to Settings > About phone > Software version to check the version. The log version ends with log. For example, BRA-AL00 5.0.0.36(C00E15R4P92log) is a log version.

Nolog Version

Nolog version refers to the system version where the logging feature is disabled. It does not record system running information, so it is more lightweight and runs faster. However, it is difficult for debugging and optimization due to the lack of logging.

On the device, you can go to Settings > About phone > Software version to check the version. The nolog version does not end with log. For example, BRA-AL00 5.0.0.36 (C00E15R4P92) is a nolog version.

Applications of the Debug Version

An application of the debug version is built in debug mode.

Applications of the Release Version

An application of the release version is built in release mode.

Stability

AppFreeze

AppFreeze (application freeze) means that an application does not respond to user operations (for example, clicking) for a specified period of time.

ASan

Address Sanitizer (ASan) is a memory address sanitizer that detects invalid address access.

CPP Crash

Cpp crash refers to the abnormal exit that occurs when the C++ code of the process does not process the POSIX signals, which are as follows.

Signo Signal Description Trigger Cause
4 SIGILL Invalid instruction. An invalid, incorrectly formatted, unknown, or privileged instruction is executed.
5 SIGTRAP Breakpoint or trap. An exception occurs or a trap instruction is executed.
6 SIGABRT Process abort. The process is aborted abnormally. Generally, this exception occurs when the process calls abort() in the standard function library.
7 SIGBUS Illegal memory access. The process accesses an aligned or nonexistent physical address.
8 SIGFPE Floating-point exception. An incorrect arithmetic operation is executed, for example, a 0 divisor, floating point overflow, or integer overflow.
11 SIGSEGV Invalid memory access. The process accesses an invalid memory reference.
16 SIGSTKFLT Stack error. The processor performs an incorrect stack operation, such as a pop when the stack is empty or a push when the stack is full.
31 SIGSYS Incorrect system call. An incorrect or invalid parameter is used in a system call.

GWP-ASan

GWP-ASan is a native memory allocator that supports detection for use-after-free and heap buffer overflow issues.

HWASan

Hardware-Assisted Address Sanitizer (HWASan) is a memory error detection system provided by Clang LLVM. It is used to detect common memory access errors in C/C++ and offers better performance and lower memory overhead than ASan.

JS Crash

A JS crash occurs when an application exits due to an uncaught exception or error in its JS/ArkTS code.

TSan

ThreadSanitizer (TSan) is a tool for detecting data races.

UBSan

Undefined Behavior Sanitizer (UBSan) detects undefined behavior in code, enabling developers to locate and fix the underlying defects at runtime.

Call Stack

Call stack records the sequence of function calls for the thread, from its start up to the current point (such as the crash or freeze). For details, see Call stack frame and JS hybrid stack frame.

Performance

Frame Loss

Frame loss refers to the issue that the frame rate is lower than expected due to insufficient system performance, hardware limitations, or software problems during video playback, game rendering, or image collection, resulting in frame freezing or data loss. From a technical perspective, frame loss indicates that the device cannot draw frames at the refresh rate because the drawing duration of a single frame exceeds 1000 ms/refresh rate. When the single-frame drawing duration exceeds the refresh cycle of the display device (for example, 16.7 ms per frame), frame loss occurs.

Power Consumption

HWC

Hardware Composer (HWC) is a dedicated hardware-assisted system used for overlaying multiple graphics layers for display.

Foreground Tasks

A foreground task is an application or service that is being used, visible on the UI, and preferentially occupies system resources.

Background Tasks

A background task is an operation or service that an application performs in the background while its UI is not operated, such as downloading, synchronizing, or playing music.

Frame Rate

Frame rate refers to the number of image frames displayed or processed per second.

LTPO

Low Temperature Polycrystalline Oxide (LTPO) is a driving technology for OLED backplanes. The LTPO display supports an adaptive refresh rate of 1 Hz–120 Hz, delivering smoother visuals for applications that demand high refresh rates. In scenarios such as video playback or displaying static images, an LTPO panel can lower its refresh rate to reduce display power consumption and extend battery life. Generally, LTPO is used to refer to an adaptive refresh rate technology.

Redundant Drawing

Redundant drawing indicates that a layer is blocked or repeatedly rendered on the UI. As a result, the system performs invalid drawing on the same pixel for multiple times, wasting GPU resources and causing frame freeze.

Invisible Animation

Invisible animation indicates an animation that is not directly visible to users but is used to enhance interaction feedback or state transition, such as a swiping animation during page switching.

Memory

VSS

Virtual Set Size (VSS) indicates the size of the virtual memory of a process, including all memory areas mapped to the address space of the process, regardless of whether these areas actually exist in the physical memory.

PSS

Proportional Set Size (PSS) indicates the total physical memory occupied by a process. PSS = Shared memory/Number of processes that use the shared memory + Private memory of the process

RSS

Resident Set Size (RSS) indicates the size of physical memory that is currently resident for a process.

Dirty Pages

Dirty pages are cache pages that are modified but not written to disks.

Clean Pages

Clean pages are those that are not modified or are already in sync with their corresponding data on disk.

Anonymous Pages

Anonymous pages are memory pages that do not correspond to any specific file and are typically created through stack or heap allocations.

File-Backed Pages

File-backed pages are data pages mapped from specific files, such as program texts and shared libraries.

NMD

Native Malloc Detail (NMD) indicates the jemalloc snapshot details of a process.