1# Performance Analysis Kit Terminology 2 3<!--Kit: Performance Analysis Kit--> 4<!--Subsystem: HiviewDFX--> 5<!--Owner: @mzyan--> 6<!--Designer: @liyueric--> 7<!--Tester: @gcw_KuLfPSbe--> 8<!--Adviser: @foryourself--> 9 10## General 11 12### Log Version 13 14Log 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. 15 16On 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. 17 18### Nolog Version 19 20Nolog 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. 21 22On 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. 23 24### Applications of the Debug Version 25 26An application of the debug version is built in [debug mode](https://developer.huawei.com/consumer/en/doc/harmonyos-guides/ide-hvigor-compilation-options-customizing-guide#section192461528194916). 27 28### Applications of the Release Version 29 30An application of the release version is built in [release mode](https://developer.huawei.com/consumer/en/doc/harmonyos-guides/ide-hvigor-compilation-options-customizing-guide#section192461528194916). 31 32## Stability 33 34### AppFreeze 35 36AppFreeze (application freeze) means that an application does not respond to user operations (for example, clicking) for a specified period of time. 37 38### Asan 39 40Address Sanitizer (ASan) is a memory address sanitizer that detects invalid address access. 41 42### CPP Crash 43 44Cpp 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. 45 46| Signo| Signal| Description| Trigger Cause| 47| -------- | -------- | -------- | -------- | 48| 4 | SIGILL | Invalid instruction.| An invalid, incorrectly formatted, unknown, or privileged instruction is executed.| 49| 5 | SIGTRAP | Breakpoint or trap.| An exception occurs or a trap instruction is executed.| 50| 6 | SIGABRT | Process abort.| The process is aborted abnormally. Generally, this exception occurs when the process calls **abort()** in the standard function library.| 51| 7 | SIGBUS | Illegal memory access.| The process accesses an aligned or nonexistent physical address.| 52| 8 | SIGFPE | Floating-point exception.| An incorrect arithmetic operation is executed, for example, a 0 divisor, floating point overflow, or integer overflow.| 53| 11 | SIGSEGV | Invalid memory access.| The process accesses an invalid memory reference.| 54| 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.| 55| 31 | SIGSYS | Incorrect system call.| An incorrect or invalid parameter is used in a system call.| 56 57### GWP-ASan 58 59GWP-ASan is a native memory allocator that supports detection for use-after-free and heap buffer overflow issues. 60 61### HWASan 62 63Hardware-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++. Moreover, it has much better performance and memory overhead than Asan. 64 65### JS Crash 66 67A JS crash occurs when an application exits due to an uncaught exception or error in its JS/ArkTS code. 68 69### TSan 70 71ThreadSanitizer (TSan) is a tool for detecting data races. 72 73### UBSan 74 75Undefined Behavior Sanitizer (UBSan) detects undefined behavior in code, enabling developers to locate and fix the underlying defects at runtime. 76 77## Performance 78 79### Frame Loss 80 81Frame 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. 82 83## Power Consumption 84 85### HWC 86 87Hardware Composer (HWC) is a dedicated hardware-assisted system used for overlaying multiple graphics layers for display. 88 89### Foreground Tasks 90 91A foreground task is an application or service that is being used, visible on the UI, and preferentially occupies system resources. 92 93### Background Tasks 94 95A 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. 96 97### Frame Rate 98 99Frame rate refers to the number of image frames displayed or processed per second. 100 101### LTPO 102 103Low 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. 104 105### Redundant Drawing 106 107Redundant 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. 108 109### Invisible Animation 110 111Invisible 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. 112 113## Memory 114 115### VSS 116 117Virtual 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. 118 119### PSS 120 121Proportional Set Size (PSS) is a more accurate method of measuring memory usage. It allocates the memory consumed by shared libraries among all processes using them in proportion to their actual share. 122 123### RSS 124 125Resident Set Size (RSS) denotes the size of physical memory that is currently resident for a process. 126 127### Dirty Pages 128 129Dirty pages are cache pages that are modified but not written to disks. 130 131### Clean Pages 132 133Clean pages are those that are not modified or are already in sync with their corresponding data on disk. 134 135### Anonymous Pages 136 137Anonymous pages are memory pages that do not correspond to any specific file and are typically created through stack or heap allocations. 138 139### File-Backed Pages 140 141File-backed pages are data pages mapped from specific files, such as program texts and shared libraries. 142 143### NMD 144 145Native Malloc Detail (NMD) indicates the jemalloc snapshot details of a process. 146