• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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