1# Freeze Event Overview
2
3HiAppEvent provides APIs for subscribing to freeze events.
4
5- [Subscribing to Freeze Events (ArkTS)](hiappevent-watcher-freeze-events-arkts.md)
6- [Subscribing to Freeze Events (C/C++)](hiappevent-watcher-freeze-events-ndk.md)
7
8The **params** parameter in the freeze event information is described as follows:
9
10**params**
11
12| Name   | Type  | Description                      |
13| ------- | ------ | ------------------------- |
14| time     | number | Event triggering time, in ms.|
15| foreground | boolean | Whether the application is running in the foreground.|
16| bundle_version | string | Application version.|
17| bundle_name | string | Application name.|
18| process_name | string | Process name of the application.|
19| pid | number | Process ID of the application.|
20| uid | number | User ID of the application.|
21| uuid | string | Error ID.|
22| exception | object | Exception information. For details, see **exception**.|
23| hilog | string[] | Log information.|
24| event_handler | string[] | Events not yet handled by the main thread.|
25| event_handler_size_3s | string | Number of tasks in the task stack when the THREAD_BLOCK event lasts for 3s.|
26| event_handler_size_6s | string | Number of tasks in the task stack when the THREAD_BLOCK event lasts for 6s.|
27| peer_binder | string[] | Binder call information.|
28| threads | object[] | Full thread call stack. For details, see **thread**.|
29| memory | object | Memory information. For details, see **memory**.|
30| external_log<sup>12+</sup> | string[] | Path of the error log file. If the directory files exceed the threshold (for details, see **log_over_limit**), new log files may fail to be written. Therefore, delete the log files immediately after they are processed.|
31| log_over_limit<sup>12+</sup> | boolean | Whether the size of generated fault log files and existing log files exceeds the upper limit (5 MB). The value **true** indicates that the upper limit is exceeded and logs fail to be written. The value **false** indicates that the upper limit is not exceeded.|
32
33**exception**
34
35| Name   | Type  | Description                      |
36| ------- | ------ | ------------------------- |
37| name | string | Exception type.|
38| message | string | Exception cause.|
39
40**thread**
41
42| Name   | Type  | Description                      |
43| ------- | ------ | ------------------------- |
44| thread_name | string | Thread name.|
45| tid | number | Thread ID.|
46| frames | object[] | Thread call stack. For details, see **frame**.|
47
48**frame**
49
50| Name   | Type  | Description                      |
51| ------- | ------ | ------------------------- |
52| symbol | string | Function name.|
53| file | string | File name.|
54| buildId | string | Unique file ID.|
55| pc | string | PC register address.|
56| offset | number | Function offset.|
57
58**memory**
59
60| Name   | Type  | Description                      |
61| ------- | ------ | ------------------------- |
62| rss | number | Size of the memory allocated for a process, in KB.|
63| vss | number | Size of the virtual memory applied by a process from the system, in KB.|
64| pss | number | Size of the physical memory actually used by a process, in KB.|
65| sys_free_mem | number | Size of free memory, in KB.|
66| sys_avail_mem | number | Size of available memory, in KB.|
67| sys_total_mem | number | Total memory size, in KB.|
68