1/*
2 * Copyright (c) Huawei Technologies Co., Ltd. 2023. All rights reserved.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16#ifndef TRACE_STREAMER_CONFIG_H
17#define TRACE_STREAMER_CONFIG_H
18#include <map>
19#include <string>
20#include "ts_common.h"
21namespace SysTuning {
22namespace TraceCfg {
23// all supported events should be defined here
24#define CPU_IDEL_INVALID_KEY 4294967295
25#define CPU_IDEL_INVALID_VALUE 10
26enum SupportedTraceEventType {
27    TRACE_EVENT_START = 0,
28    TRACE_EVENT_BINDER_TRANSACTION = TRACE_EVENT_START,
29    TRACE_EVENT_BINDER_TRANSACTION_RECEIVED,
30    TRACE_EVENT_BINDER_TRANSACTION_ALLOC_BUF,
31    TRACE_EVENT_BINDER_TRANSACTION_LOCK,
32    TRACE_EVENT_BINDER_TRANSACTION_LOCKED,
33    TRACE_EVENT_BINDER_TRANSACTION_UNLOCK,
34    TRACE_EVENT_SCHED_SWITCH,
35    TRACE_EVENT_SCHED_BLOCKED_REASON,
36    TRACE_EVENT_TASK_RENAME,
37    TRACE_EVENT_TASK_NEWTASK,
38    TRACE_EVENT_TRACING_MARK_WRITE,
39    TRACE_EVENT_PRINT,
40    TRACE_EVENT_SCHED_WAKEUP,
41    TRACE_EVENT_SCHED_WAKING,
42    TRACE_EVENT_CPU_IDLE,
43    TRACE_EVENT_CPU_FREQUENCY,
44    TRACE_EVENT_CPU_FREQUENCY_LIMITS,
45    TRACE_EVENT_SUSPEND_RESUME,
46    TRACE_EVENT_WORKQUEUE_EXECUTE_START,
47    TRACE_EVENT_WORKQUEUE_EXECUTE_END,
48    TRACE_EVENT_CLOCK_SET_RATE,
49    TRACE_EVENT_CLOCK_ENABLE,
50    TRACE_EVENT_CLOCK_DISABLE,
51    TRACE_EVENT_CLK_SET_RATE,
52    TRACE_EVENT_CLK_ENABLE,
53    TRACE_EVENT_CLK_DISABLE,
54    TRACE_EVENT_SYS_ENTRY,
55    TRACE_EVENT_SYS_EXIT,
56    TRACE_EVENT_REGULATOR_SET_VOLTAGE,
57    TRACE_EVENT_REGULATOR_SET_VOLTAGE_COMPLETE,
58    TRACE_EVENT_REGULATOR_DISABLE,
59    TRACE_EVENT_REGULATOR_DISABLE_COMPLETE,
60    TRACE_EVENT_IPI_ENTRY,
61    TRACE_EVENT_IPI_EXIT,
62    TRACE_EVENT_IRQ_HANDLER_ENTRY,
63    TRACE_EVENT_IRQ_HANDLER_EXIT,
64    TRACE_EVENT_SOFTIRQ_RAISE,
65    TRACE_EVENT_SOFTIRQ_ENTRY,
66    TRACE_EVENT_SOFTIRQ_EXIT,
67    TRACE_EVENT_OOM_SCORE_ADJ_UPDATE,
68    TRACE_EVENT_SCHED_WAKEUP_NEW,
69    TRACE_EVENT_PROCESS_EXIT,
70    TRACE_EVENT_PROCESS_FREE,
71    TRACE_EVENT_CLOCK_SYNC,
72    TRACE_EVENT_SIGNAL_GENERATE,
73    TRACE_EVENT_SIGNAL_DELIVER,
74    TRACE_EVENT_BLOCK_BIO_BACKMERGE,
75    TRACE_EVENT_BLOCK_BIO_BOUNCE,
76    TRACE_EVENT_BLOCK_BIO_COMPLETE,
77    TRACE_EVENT_BLOCK_BIO_FRONTMERGE,
78    TRACE_EVENT_BLOCK_BIO_QUEUE,
79    TRACE_EVENT_BLOCK_BIO_REMAP,
80    TRACE_EVENT_BLOCK_DIRTY_BUFFER,
81    TRACE_EVENT_BLOCK_GETRQ,
82    TRACE_EVENT_BLOCK_PLUG,
83    TRACE_EVENT_BLOCK_RQ_COMPLETE,
84    TRACE_EVENT_BLOCK_RQ_INSERT,
85    TRACE_EVENT_BLOCK_RQ_REMAP,
86    TRACE_EVENT_BLOCK_RQ_ISSUE,
87    TRACE_EVENT_FFRT,
88    TRACE_MEMORY,
89    TRACE_HILOG,
90    TRACE_HIDUMP_FPS,
91    TRACE_NATIVE_HOOK_MALLOC,
92    TRACE_NATIVE_HOOK_FREE,
93    TRACE_NATIVE_HOOK_MMAP,
94    TRACE_NATIVE_HOOK_MUNMAP,
95    TRACE_NATIVE_HOOK_RECORD_STATISTICS,
96    TRACE_NATIVE_HOOK_MEMTAG,
97    TRACE_SYS_MEMORY,
98    TRACE_SYS_VIRTUAL_MEMORY,
99    TRACE_DISKIO,
100    TRACE_PROCESS,
101    TRACE_CPU_USAGE,
102    TRACE_NETWORK,
103    TRACE_JS_MEMORY,
104    TRACE_PERF,
105    TRACE_EVENT_EBPF,
106    TRACE_EVENT_EBPF_FILE_SYSTEM,
107    TRACE_EVENT_EBPF_PAGED_MEMORY,
108    TRACE_EVENT_EBPF_BIO_LATENCY,
109    TRACE_HISYSEVENT,
110    TRACE_SMAPS,
111    TRACE_VSYNC,
112    TRACE_ON_DO_COMPOSITION,
113    TRACE_FRAMEQUEUE,
114    TRACE_ASHMEM,
115    TRACE_DMAMEM,
116    TRACE_GPU_PROCESS_MEM,
117    TRACE_GPU_WINDOW_MEM,
118    TRACE_WINDOW_MANAGER_SERVICE,
119    TRACE_EVENT_DMA_FENCE_INIT,
120    TRACE_EVENT_DMA_FENCE_DESTROY,
121    TRACE_EVENT_DMA_FENCE_ENABLE,
122    TRACE_EVENT_DMA_FENCE_SIGNALED,
123    TRACE_EVENT_DMA_FENCE,
124    TRACE_EVENT_OTHER,
125    TRACE_EVENT_MAX
126};
127enum MemInfoType {
128    MEM_VM_SIZE,
129    MEM_VM_LOCKED,
130    MEM_VM_RSS,
131    MEM_VM_ANON,
132    MEM_RSS_FILE,
133    MEM_RSS_SHMEM,
134    MEM_VM_SWAP,
135    MEM_VM_HWM,
136    MEM_VM_VIRT,
137    MEM_OOM_SCORE_ADJ,
138    MEM_PURG_SUM,
139    MEM_PURG_PIN,
140    MEM_GL_PSS,
141    MEM_GRAPH_PSS,
142    MEM_MAX
143};
144enum StatType {
145    STAT_EVENT_START = 0,
146    STAT_EVENT_RECEIVED = STAT_EVENT_START,
147    STAT_EVENT_DATA_LOST,
148    STAT_EVENT_NOTMATCH,
149    STAT_EVENT_NOTSUPPORTED,
150    STAT_EVENT_DATA_INVALID,
151    STAT_EVENT_MAX
152};
153
154// there maybe some error while parser trace msgs, here defined the error levels
155enum StatSeverityLevel {
156    STAT_SEVERITY_LEVEL_START = 0,
157    STAT_SEVERITY_LEVEL_INFO = STAT_SEVERITY_LEVEL_START,
158    STAT_SEVERITY_LEVEL_WARN,
159    STAT_SEVERITY_LEVEL_ERROR,
160    STAT_SEVERITY_LEVEL_FATAL,
161    STAT_SEVERITY_LEVEL_MAX
162};
163
164// the supported metadata
165enum MetaDataItem {
166    METADATA_ITEM_START = 0,
167    METADATA_ITEM_DATASIZE = METADATA_ITEM_START,
168    METADATA_ITEM_PARSETOOL_NAME,
169    METADATA_ITEM_PARSERTOOL_VERSION,
170    METADATA_ITEM_PARSERTOOL_PUBLISH_DATETIME,
171    METADATA_ITEM_SOURCE_FILENAME,
172    METADATA_ITEM_OUTPUT_FILENAME,
173    METADATA_ITEM_PARSERTIME, // the data time while the data parsed
174    METADATA_ITEM_TRACE_DURATION,
175    METADATA_ITEM_SOURCE_DATETYPE, // proto-based-trace or txt-based-trace
176    METADATA_ITEM_MAX
177};
178
179class TraceStreamerConfig {
180public:
181    TraceStreamerConfig();
182    ~TraceStreamerConfig() = default;
183    void PrintInfo() const;
184    static uint32_t GetStateValue(uint32_t state)
185    {
186        return (state > CPU_IDEL_INVALID_VALUE ? 0 : (state + 1));
187    }
188
189public:
190    std::map<SupportedTraceEventType, std::string> eventNameMap_ = {};
191    std::map<StatType, std::string> eventErrorDescMap_ = {};
192    std::map<StatSeverityLevel, std::string> serverityLevelDescMap_ = {};
193    // different msg may have STAT_EVENT_MAX types of exception when parse, and they have different error level
194    // if you think some error level should be improve or depress, you can edit this map
195    std::map<SupportedTraceEventType, std::map<StatType, StatSeverityLevel>> eventParserStatSeverityDescMap_ = {};
196    std::map<StatType, StatSeverityLevel> statSeverityDescMap_ = {};
197    // process mem info desc
198    std::map<MemInfoType, std::string> memNameMap_ = {};
199    // sys memorty info desc
200    std::map<uint32_t, std::string> sysMemNameMap_ = {};
201    // sys virtual memorty info desc
202    std::map<uint32_t, std::string> sysVirtualMemNameMap_ = {};
203
204private:
205    void InitEventNameMap();
206    void InitBinderEventNameMap();
207    void InitSchedEventNameMap();
208    void InitClkEventNameMap();
209    void InitCpuEventNameMap();
210    void InitInterruptEventNameMap();
211    void InitMemoryEventNameMap();
212    void InitBlockEventNameMap();
213    void InitRegulatorEventNameMap();
214    void InitOtherEventNameMap();
215    void InitEbpfEventNameMap();
216    void InitHookEventNameMap();
217#ifdef ENABLE_MEMORY
218    void InitSysMemMap();
219    void InitSysVmemMap();
220    void InitNrZoneEventSysVmemMap();
221    void InitNrDirtierEventSysVmemMap();
222    void InitNrOtherEventSysVmemMap();
223    void InitPgscanEventSysVmemMap();
224    void InitPgstealEventSysVmemMap();
225    void InitCompactEventSysVmemMap();
226    void InitUnevictableEventSysVmemMap();
227    void InitPgreFillEventSysVmemMap();
228    void InitWorkingSetEventSysVmemMap();
229    void InitPgEventSysVmemMap();
230    void InitOtherEventSysVmemMap();
231#endif
232    void InitSecurityMap();
233    // all supported events should be defined here, these str can be find in text-based trace
234    const std::string TRACE_ACTION_BINDER_TRANSACTION = "binder_transaction";
235    const std::string TRACE_ACTION_BINDER_TRANSACTION_RECEIVED = "binder_transaction_received";
236    const std::string TRACE_ACTION_SCHED_SWITCH = "sched_switch";
237    const std::string TRACE_ACTION_SCHED_BLOCKED_REASON = "sched_blocked_reason";
238    const std::string TRACE_ACTION_TASK_RENAME = "task_rename";
239    const std::string TRACE_ACTION_TASK_NEWTASK = "task_newtask";
240    const std::string TRACE_ACTION_TRACING_MARK_WRITE = "tracing_mark_write";
241    const std::string TRACE_ACTION_PRINT = "print";
242    const std::string TRACE_ACTION_SCHED_WAKEUP = "sched_wakeup";
243    const std::string TRACE_ACTION_SCHED_WAKING = "sched_waking";
244    const std::string TRACE_ACTION_CPU_IDLE = "cpu_idle";
245    const std::string TRACE_ACTION_CPU_FREQUENCY = "cpu_frequency";
246    const std::string TRACE_ACTION_CPU_FREQUENCY_LIMITS = "cpu_frequency_limits";
247    const std::string TRACE_ACTION_SUSPEND_RESUME = "suspend_resume";
248    const std::string TRACE_ACTION_WORKQUEUE_EXECUTE_START = "workqueue_execute_start";
249    const std::string TRACE_ACTION_WORKQUEUE_EXECUTE_END = "workqueue_execute_end";
250
251    const std::string TRACE_ACTION_CLOCK_SET_RATE = "clock_set_rate";
252    const std::string TRACE_ACTION_CLOCK_ENABLE = "clock_enable";
253    const std::string TRACE_ACTION_CLOCK_DISABLE = "clock_disable";
254    const std::string TRACE_ACTION_CLK_SET_RATE = "clk_set_rate";
255    const std::string TRACE_ACTION_CLK_ENABLE = "clk_enable";
256    const std::string TRACE_ACTION_CLK_DISABLE = "clk_disable";
257    const std::string TRACE_ACTION_SYS_ENTRY = "sys_enter";
258    const std::string TRACE_ACTION_SYS_EXIT = "sys_exit";
259    const std::string TRACE_ACTION_OOM_SCORE_ADJ_UPDATE = "oom_score_adj_update";
260    const std::string TRACE_ACTION_REGULATOR_SET_VOLTAGE = "regulator_set_voltage";
261    const std::string TRACE_ACTION_REGULATOR_SET_VOLTAGE_COMPLETE = "regulator_set_voltage_complete";
262    const std::string TRACE_ACTION_REGULATOR_DISABLE = "regulator_disable";
263    const std::string TRACE_ACTION_REGULATOR_DISABLE_COMPLETE = "regulator_disable_complete";
264    const std::string TRACE_ACTION_IPI_ENTRY = "ipi_entry";
265    const std::string TRACE_ACTION_IPI_EXIT = "ipi_exit";
266    const std::string TRACE_ACTION_IRQ_HANDLER_ENTRY = "irq_handler_entry";
267    const std::string TRACE_ACTION_IRQ_HANDLER_EXIT = "irq_handler_exit";
268    const std::string TRACE_ACTION_SOFTIRQ_RAISE = "softirq_raise";
269    const std::string TRACE_ACTION_SOFTIRQ_ENTRY = "softirq_entry";
270    const std::string TRACE_ACTION_SOFTIRQ_EXIT = "softirq_exit";
271    const std::string TRACE_ACTION_BINDER_TRANSACTION_ALLOC_BUF = "binder_transaction_alloc_buf";
272    const std::string TRACE_ACTION_BINDER_TRANSACTION_LOCK = "binder_transaction_lock";
273    const std::string TRACE_ACTION_BINDER_TRANSACTION_LOCKED = "binder_transaction_locked";
274    const std::string TRACE_ACTION_BINDER_TRANSACTION_UNLOCK = "binder_transaction_unlock";
275    const std::string TRACE_ACTION_SCHED_WAKEUP_NEW = "sched_wakeup_new";
276    const std::string TRACE_ACTION_PROCESS_EXIT = "sched_process_exit";
277    const std::string TRACE_ACTION_PROCESS_FREE = "sched_process_free";
278    const std::string TRACE_ACTION_CLOCK_SYNC = "trace_event_clock_sync";
279    const std::string TRACE_ACTION_MEMORY = "memory";
280    const std::string TRACE_ACTION_HILOG = "hilog";
281    const std::string TRACE_ACTION_HIDUMP_FPS = "hidump_fps";
282    const std::string TRACE_ACTION_NATIVE_HOOK_MALLOC = "native_hook_malloc";
283    const std::string TRACE_ACTION_NATIVE_HOOK_FREE = "native_hook_free";
284    const std::string TRACE_ACTION_NATIVE_HOOK_MMAP = "native_hook_mmap";
285    const std::string TRACE_ACTION_NATIVE_HOOK_MUNMAP = "native_hook_munmap";
286    const std::string TRACE_ACTION_NATIVE_HOOK_RECORD_STATISTICS = "native_hook_record_statistics";
287    const std::string TRACE_ACTION_NATIVE_HOOK_MEMTAG = "native_hook_memtag";
288    const std::string TRACE_ACTION_SIGNAL_GENERATE = "signal_generate";
289    const std::string TRACE_ACTION_SIGNAL_DELIVER = "signal_deliver";
290    const std::string TRACE_ACTION_BLOCK_BIO_BACKMERGE = "trace_block_bio_backmerge";
291    const std::string TRACE_ACTION_BLOCK_BIO_BOUNCE = "trace_block_bio_bounce";
292    const std::string TRACE_ACTION_BLOCK_BIO_COMPLETE = "trace_block_bio_complete";
293    const std::string TRACE_ACTION_BLOCK_BIO_FRONTMERGE = "trace_block_bio_frontmerge";
294    const std::string TRACE_ACTION_BLOCK_BIO_QUEUE = "trace_bblock_bio_queue";
295    const std::string TRACE_ACTION_BLOCK_BIO_REMAP = "trace_block_bio_remap";
296    const std::string TRACE_ACTION_BLOCK_DIRTY_BUFFER = "trace_block_dirty_buffer";
297    const std::string TRACE_ACTION_BLOCK_GETRQ = "trace_block_getrq";
298    const std::string TRACE_ACTION_BLOCK_PLUG = "trace_block_plug";
299    const std::string TRACE_ACTION_BLOCK_RQ_COMPLETE = "trace_block_rq_complete";
300    const std::string TRACE_ACTION_BLOCK_RQ_INSERT = "trace_block_rq_insert";
301    const std::string TRACE_ACTION_BLOCK_RQ_REMAP = "trace_block_rq_remap";
302    const std::string TRACE_ACTION_BLOCK_RQ_ISSUE = "trace_block_rq_issue";
303    const std::string TRACE_ACTION_DMA_FENCE_INIT = "dma_fence_init";
304    const std::string TRACE_ACTION_DMA_FENCE_DESTROY = "dma_fence_destroy";
305    const std::string TRACE_ACTION_DMA_FENCE_ENABLE = "dma_fence_enable_signal";
306    const std::string TRACE_ACTION_DMA_FENCE_SIGNALED = "dma_fence_signaled";
307    const std::string TRACE_ACTION_DMA_FENCE = "dma_fence";
308    const std::string TRACE_ACTION_FFRT = "trace_ffrt";
309
310    const std::string TRACE_ACTION_SYS_MEMORY = "sys_memory";
311    const std::string TRACE_ACTION_SYS_VIRTUAL_MEMORY = "sys_virtual_memory";
312    const std::string TRACE_ACTION_DISKIO = "trace_diskio";
313    const std::string TRACE_ACTION_PROCESS = "trace_process";
314    const std::string TRACE_ACTION_CPU_USAGE = "trace_cpu_usage";
315    const std::string TRACE_ACTION_NETWORK = "trace_network";
316    const std::string TRACE_ACTION_JS_MEMORY = "trace_js_memory";
317    const std::string TRACE_ACTION_PERF = "trace_perf";
318    const std::string TRACE_ACTION_EBPF = "trace_ebpf";
319    const std::string TRACE_ACTION_EBPF_FILE_SYSTEM = "trace_ebpf_file_system";
320    const std::string TRACE_ACTION_EBPF_PAGED_MEMORY = "trace_ebpf_paged_memory";
321    const std::string TRACE_ACTION_EBPF_BIO_LATENCY = "trace_ebpf_bio_latency";
322    const std::string TRACE_ACTION_HISYS_EVENT = "trace_hisys_event";
323    const std::string TRACE_ACTION_SMAPS = "trace_smaps";
324    const std::string TRACE_ACTION_VSYNC = "trace_vsync";
325    const std::string TRACE_ACTION_ON_DO_COMPOSITION = "trace_on_do_composition";
326    const std::string TRACE_ACTION_FRAMEQUEUE = "trace_frame_queue";
327    const std::string TRACE_ACTION_ASHMEM = "trace_ash_mem";
328    const std::string TRACE_ACTION_DMAMEM = "trace_dma_mem";
329    const std::string TRACE_ACTION_GPU_PROCESS_MEM = "trace_gpu_process_mem";
330    const std::string TRACE_ACTION_GPU_WINDOW_MEM = "trace_gpu_window_mem";
331    const std::string TRACE_ACTION_WINDOW_MANAGER_SERVICE = "trace_window_manager_service";
332    const std::string TRACE_ACTION_OTHER = "other";
333
334    const std::string MEM_INFO_VM_SIZE_DESC = "mem.vm.size";
335    const std::string MEM_INFO_LOCKED_DESC = "mem.locked";
336    const std::string MEM_INFO_RSS_DESC = "mem.rss";
337    const std::string MEM_INFO_RSS_ANON_DESC = "mem.rss.anon";
338    const std::string MEM_INFO_RSS_FILE_DESC = "mem.rss.file";
339    const std::string MEM_INFO_RSS_SCHEM_DESC = "mem.rss.schem";
340    const std::string MEM_INFO_SWAP_DESC = "mem.swap";
341    const std::string MEM_INFO_VIRT_DESC = "mem.virt";
342    const std::string MEM_INFO_HWM_DESC = "mem.hwm";
343    const std::string MEM_INFO_SCORE_ADJ_DESC = "mm.oom_score_adj";
344    const std::string MEM_INFO_PURG_SUM_DESC = "mem.purg_sum";
345    const std::string MEM_INFO_PURG_PIN_DESC = "mem.purg_pin";
346    const std::string MEM_INFO_GL_PSS_DESC = "mem.gl_pss";
347    const std::string MEM_INFO_GRAPH_PSS_DESC = "mem.graph_pss";
348
349    const std::string SYS_MEMINFO_UNSPECIFIED_DESC = "sys.mem.unspecified";
350    const std::string SYS_MEMINFO_MEM_TOTAL_DESC = "sys.mem.total";
351    const std::string SYS_MEMINFO_MEM_FREE_DESC = "sys.mem.free";
352    const std::string SYS_MEMINFO_MEM_AVAILABLE_DESC = "sys.mem.avaiable";
353    const std::string SYS_MEMINFO_BUFFERS_DESC = "sys.mem.buffers";
354    const std::string SYS_MEMINFO_CACHED_DESC = "sys.mem.cached";
355    const std::string SYS_MEMINFO_SWAP_CACHED_DESC = "sys.mem.swap.chard";
356    const std::string SYS_MEMINFO_ACTIVE_DESC = "sys.mem.active";
357    const std::string SYS_MEMINFO_INACTIVE_DESC = "sys.mem.inactive";
358    const std::string SYS_MEMINFO_ACTIVE_ANON_DESC = "sys.mem.active.anon";
359    const std::string SYS_MEMINFO_INACTIVE_ANON_DESC = "sys.mem.inactive.anon";
360    const std::string SYS_MEMINFO_ACTIVE_FILE_DESC = "sys.mem.active_file";
361    const std::string SYS_MEMINFO_INACTIVE_FILE_DESC = "sys.mem.inactive_file";
362    const std::string SYS_MEMINFO_UNEVICTABLE_DESC = "sys.mem.unevictable";
363    const std::string SYS_MEMINFO_MLOCKED_DESC = "sys.mem.mlocked";
364    const std::string SYS_MEMINFO_SWAP_TOTAL_DESC = "sys.mem.swap.total";
365    const std::string SYS_MEMINFO_SWAP_FREE_DESC = "sys.mem.swap.free";
366    const std::string SYS_MEMINFO_DIRTY_DESC = "sys.mem.dirty";
367    const std::string SYS_MEMINFO_WRITEBACK_DESC = "sys.mem.writeback";
368    const std::string SYS_MEMINFO_ANON_PAGES_DESC = "sys.mem.anon.pages";
369    const std::string SYS_MEMINFO_MAPPED_DESC = "sys.mem.mapped";
370    const std::string SYS_MEMINFO_SHMEM_DESC = "sys.mem.shmem";
371    const std::string SYS_MEMINFO_SLAB_DESC = "sys.mem.slab";
372    const std::string SYS_MEMINFO_SLAB_RECLAIMABLE_DESC = "sys.mem.slab.reclaimable";
373    const std::string SYS_MEMINFO_SLAB_UNRECLAIMABLE_DESC = "sys.mem.slab.unreclaimable";
374    const std::string SYS_MEMINFO_KERNEL_STACK_DESC = "sys.mem.kernel.stack";
375    const std::string SYS_MEMINFO_PAGE_TABLES_DESC = "sys.mem.page.tables";
376    const std::string SYS_MEMINFO_COMMIT_LIMIT_DESC = "sys.mem.commit.limit";
377    const std::string SYS_MEMINFO_COMMITED_AS_DESC = "sys.mem.commited.as";
378    const std::string SYS_MEMINFO_VMALLOC_TOTAL_DESC = "sys.mem.vmalloc.total";
379    const std::string SYS_MEMINFO_VMALLOC_USED_DESC = "sys.mem.vmalloc.used";
380    const std::string SYS_MEMINFO_VMALLOC_CHUNK_DESC = "sys.mem.vmalloc.chunk";
381    const std::string SYS_MEMINFO_CMA_TOTAL_DESC = "sys.mem.cma.total";
382    const std::string SYS_MEMINFO_CMA_FREE_DESC = "sys.mem.cma.free";
383    const std::string SYS_MEMINFO_KERNEL_RECLAIMABLE_DESC = "sys.mem.kernel.reclaimable";
384    const std::string SYS_MEMINFO_ACTIVE_PURG_DESC = "sys.mem.active.purg";
385    const std::string SYS_MEMINFO_INACTIVE_PURG_DESC = "sys.mem.inactive.purg";
386    const std::string SYS_MEMINFO_PINED_PURG_DESC = "sys.mem.pined.purg";
387
388    const std::string SYS_VMEMINFO_UNSPECIFIED_DESC = "sys.virtual.mem.unspecified";
389    const std::string SYS_VMEMINFO_NR_FREE_PAGES_DESC = "sys.virtual.mem.nr.free.pages";
390    const std::string SYS_VMEMINFO_NR_ALLOC_BATCH_DESC = "sys.virtual.mem.nr.alloc.batch";
391    const std::string SYS_VMEMINFO_NR_INACTIVE_ANON_DESC = "sys.virtual.mem.nr.inactive.anon";
392    const std::string SYS_VMEMINFO_NR_ACTIVE_ANON_DESC = "sys.virtual.mem.nr.active_anon";
393    const std::string SYS_VMEMINFO_NR_INACTIVE_FILE_DESC = "sys.virtual.mem.nr.inactive.file";
394    const std::string SYS_VMEMINFO_NR_ACTIVE_FILE_DESC = "sys.virtual.mem.nr.active_file";
395    const std::string SYS_VMEMINFO_NR_UNEVICTABLE_DESC = "sys.virtual.mem.nr.unevictable";
396    const std::string SYS_VMEMINFO_NR_MLOCK_DESC = "sys.virtual.mem.nr.mlock";
397    const std::string SYS_VMEMINFO_NR_ANON_PAGES_DESC = "sys.virtual.mem.anon.pages";
398    const std::string SYS_VMEMINFO_NR_MAPPED_DESC = "sys.virtual.mem.nr.mapped";
399    const std::string SYS_VMEMINFO_NR_FILE_PAGES_DESC = "sys.virtual.mem.nr.file.pages";
400    const std::string SYS_VMEMINFO_NR_DIRTY_DESC = "sys.virtual.mem.nr.dirty";
401    const std::string SYS_VMEMINFO_NR_WRITEBACK_DESC = "sys.virtual.mem.nr.writeback";
402    const std::string SYS_VMEMINFO_NR_SLAB_RECLAIMABLE_DESC = "sys.virtual.mem.nr.slab.reclaimable";
403    const std::string SYS_VMEMINFO_NR_SLAB_UNRECLAIMABLE_DESC = "sys.virtual.mem.nr.slab.unreclaimable";
404    const std::string SYS_VMEMINFO_NR_PAGE_TABLE_PAGES_DESC = "sys.virtual.mem.nr.page_table.pages";
405    const std::string SYS_VMEMINFO_NR_KERNEL_STACK_DESC = "sys.virtual.mem.nr_kernel.stack";
406    const std::string SYS_VMEMINFO_NR_OVERHEAD_DESC = "sys.virtual.mem.nr.overhead";
407    const std::string SYS_VMEMINFO_NR_UNSTABLE_DESC = "sys.virtual.mem.nr.unstable";
408    const std::string SYS_VMEMINFO_NR_BOUNCE_DESC = "sys.virtual.mem.nr.bounce";
409    const std::string SYS_VMEMINFO_NR_VMSCAN_WRITE_DESC = "sys.virtual.mem.nr.vmscan.write";
410    const std::string SYS_VMEMINFO_NR_VMSCAN_IMMEDIATE_RECLAIM_DESC = "sys.virtual.mem.nr.vmscan.immediate.reclaim";
411    const std::string SYS_VMEMINFO_NR_WRITEBACK_TEMP_DESC = "sys.virtual.mem.nr.writeback_temp";
412    const std::string SYS_VMEMINFO_NR_ISOLATED_ANON_DESC = "sys.virtual.mem.nr.isolated_anon";
413    const std::string SYS_VMEMINFO_NR_ISOLATED_FILE_DESC = "sys.virtual.mem.nr.isolated_file";
414    const std::string SYS_VMEMINFO_NR_SHMEM_DESC = "sys.virtual.mem.nr.shmem";
415    const std::string SYS_VMEMINFO_NR_DIRTIED_DESC = "sys.virtual.mem.nr.dirtied";
416    const std::string SYS_VMEMINFO_NR_WRITTEN_DESC = "sys.virtual.mem.nr.written";
417    const std::string SYS_VMEMINFO_NR_PAGES_SCANNED_DESC = "sys.virtual.mem.nr.pages.scanned";
418    const std::string SYS_VMEMINFO_WORKINGSET_REFAULT_DESC = "sys.virtual.mem.workingset.refault";
419    const std::string SYS_VMEMINFO_WORKINGSET_ACTIVATE_DESC = "sys.virtual.mem.workingset.activate";
420    const std::string SYS_VMEMINFO_WORKINGSET_NODERECLAIM_DESC = "sys.virtual.mem.workingset_nodereclaim";
421    const std::string SYS_VMEMINFO_NR_ANON_TRANSPARENT_HUGEPAGES_DESC = "sys.virtual.mem.nr_anon.transparent.hugepages";
422    const std::string SYS_VMEMINFO_NR_FREE_CMA_DESC = "sys.virtual.mem.nr.free_cma";
423    const std::string SYS_VMEMINFO_NR_SWAPCACHE_DESC = "sys.virtual.mem.nr.swapcache";
424    const std::string SYS_VMEMINFO_NR_DIRTY_THRESHOLD_DESC = "sys.virtual.mem.nr.dirty.threshold";
425    const std::string SYS_VMEMINFO_NR_DIRTY_BACKGROUND_THRESHOLD_DESC = "sys.virtual.mem.nr.dirty.background.threshold";
426    const std::string SYS_VMEMINFO_PGPGIN_DESC = "sys.virtual.mem.vmeminfo.pgpgin";
427    const std::string SYS_VMEMINFO_PGPGOUT_DESC = "sys.virtual.mem.pgpgout";
428    const std::string SYS_VMEMINFO_PGPGOUTCLEAN_DESC = "sys.virtual.mem.pgpgoutclean";
429    const std::string SYS_VMEMINFO_PSWPIN_DESC = "sys.virtual.mem.pswpin";
430    const std::string SYS_VMEMINFO_PSWPOUT_DESC = "sys.virtual.mem.pswpout";
431    const std::string SYS_VMEMINFO_PGALLOC_DMA_DESC = "sys.virtual.mem.pgalloc.dma";
432    const std::string SYS_VMEMINFO_PGALLOC_NORMAL_DESC = "sys.virtual.mem.pgalloc.normal";
433    const std::string SYS_VMEMINFO_PGALLOC_MOVABLE_DESC = "sys.virtual.mem.pgalloc.movable";
434    const std::string SYS_VMEMINFO_PGFREE_DESC = "sys.virtual.mem.pgfree";
435    const std::string SYS_VMEMINFO_PGACTIVATE_DESC = "sys.virtual.mem.pgactivate";
436    const std::string SYS_VMEMINFO_PGDEACTIVATE_DESC = "sys.virtual.mem.pgdeactivate";
437    const std::string SYS_VMEMINFO_PGFAULT_DESC = "sys.virtual.mem.pgfault";
438    const std::string SYS_VMEMINFO_PGMAJFAULT_DESC = "sys.virtual.mem.pgmajfault";
439    const std::string SYS_VMEMINFO_PGREFILL_DMA_DESC = "sys.virtual.mem.pgrefill.dma";
440    const std::string SYS_VMEMINFO_PGREFILL_NORMAL_DESC = "sys.virtual.mem.pgrefill.normal";
441    const std::string SYS_VMEMINFO_PGREFILL_MOVABLE_DESC = "sys.virtual.mem.pgrefill.movable";
442    const std::string SYS_VMEMINFO_PGSTEAL_KSWAPD_DMA_DESC = "sys.virtual.mem.pgsteal.kswapd.dma";
443    const std::string SYS_VMEMINFO_PGSTEAL_KSWAPD_NORMAL_DESC = "sys.virtual.mem.pgsteal.kswapd.normal";
444    const std::string SYS_VMEMINFO_PGSTEAL_KSWAPD_MOVABLE_DESC = "sys.virtual.mem.pgsteal.kswapd.movable";
445    const std::string SYS_VMEMINFO_PGSTEAL_DIRECT_DMA_DESC = "sys.virtual.mem.pgsteal.direct.dma";
446    const std::string SYS_VMEMINFO_PGSTEAL_DIRECT_NORMAL_DESC = "sys.virtual.mem.pgsteal.direct.normal";
447    const std::string SYS_VMEMINFO_PGSTEAL_DIRECT_MOVABLE_DESC = "sys.virtual.mem.pgsteal_direct.movable";
448    const std::string SYS_VMEMINFO_PGSCAN_KSWAPD_DMA_DESC = "sys.virtual.mem.pgscan.kswapd.dma";
449    const std::string SYS_VMEMINFO_PGSCAN_KSWAPD_NORMAL_DESC = "sys.virtual.mem.pgscan_kswapd.normal";
450    const std::string SYS_VMEMINFO_PGSCAN_KSWAPD_MOVABLE_DESC = "sys.virtual.mem.pgscan.kswapd.movable";
451    const std::string SYS_VMEMINFO_PGSCAN_DIRECT_DMA_DESC = "sys.virtual.mem.pgscan.direct.dma";
452    const std::string SYS_VMEMINFO_PGSCAN_DIRECT_NORMAL_DESC = "sys.virtual.mem.pgscan.direct.normal";
453    const std::string SYS_VMEMINFO_PGSCAN_DIRECT_MOVABLE_DESC = "sys.virtual.mem.pgscan.direct.movable";
454    const std::string SYS_VMEMINFO_PGSCAN_DIRECT_THROTTLE_DESC = "sys.virtual.mem.pgscan.direct.throttle";
455    const std::string SYS_VMEMINFO_PGINODESTEAL_DESC = "sys.virtual.mem.pginodesteal";
456    const std::string SYS_VMEMINFO_SLABS_SCANNED_DESC = "sys.virtual.mem.slabs_scanned";
457    const std::string SYS_VMEMINFO_KSWAPD_INODESTEAL_DESC = "sys.virtual.mem.kswapd.inodesteal";
458    const std::string SYS_VMEMINFO_KSWAPD_LOW_WMARK_HIT_QUICKLY_DESC = "sys.virtual.mem.kswapd.low.wmark.hit.quickly";
459    const std::string SYS_VMEMINFO_KSWAPD_HIGH_WMARK_HIT_QUICKLY_DESC = "sys.virtual.mem.high.wmark.hit.quickly";
460    const std::string SYS_VMEMINFO_PAGEOUTRUN_DESC = "sys.virtual.mem.pageoutrun";
461    const std::string SYS_VMEMINFO_ALLOCSTALL_DESC = "sys.virtual.mem.allocstall";
462    const std::string SYS_VMEMINFO_PGROTATED_DESC = "sys.virtual.mem.pgrotated";
463    const std::string SYS_VMEMINFO_DROP_PAGECACHE_DESC = "sys.virtual.mem.drop.pagecache";
464    const std::string SYS_VMEMINFO_DROP_SLAB_DESC = "sys.virtual.mem.drop.slab";
465    const std::string SYS_VMEMINFO_PGMIGRATE_SUCCESS_DESC = "sys.virtual.mem.pgmigrate.success";
466    const std::string SYS_VMEMINFO_PGMIGRATE_FAIL_DESC = "sys.virtual.mem.pgmigrate.fail";
467    const std::string SYS_VMEMINFO_COMPACT_MIGRATE_SCANNED_DESC = "sys.virtual.mem.compact.migrate.scanned";
468    const std::string SYS_VMEMINFO_COMPACT_FREE_SCANNED_DESC = "sys.virtual.mem.compact.free.scanned";
469    const std::string SYS_VMEMINFO_COMPACT_ISOLATED_DESC = "sys.virtual.mem.compact.isolated";
470    const std::string SYS_VMEMINFO_COMPACT_STALL_DESC = "sys.virtual.mem.compact.stall";
471    const std::string SYS_VMEMINFO_COMPACT_FAIL_DESC = "sys.virtual.mem.compact.fail";
472    const std::string SYS_VMEMINFO_COMPACT_SUCCESS_DESC = "sys.virtual.mem.compact.success";
473    const std::string SYS_VMEMINFO_COMPACT_DAEMON_WAKE_DESC = "sys.virtual.mem.compact.daemon.wake";
474    const std::string SYS_VMEMINFO_UNEVICTABLE_PGS_CULLED_DESC = "sys.virtual.mem.unevictable.pgs.culled";
475    const std::string SYS_VMEMINFO_UNEVICTABLE_PGS_SCANNED_DESC = "sys.virtual.mem.unevictable.pgs.scanned";
476    const std::string SYS_VMEMINFO_UNEVICTABLE_PGS_RESCUED_DESC = "sys.virtual.mem.unevictable.pgs.rescued";
477    const std::string SYS_VMEMINFO_UNEVICTABLE_PGS_MLOCKED_DESC = "sys.virtual.mem.unevictable.pgs.mlocked";
478    const std::string SYS_VMEMINFO_UNEVICTABLE_PGS_MUNLOCKED_DESC = "sys.virtual.mem.unevictable.pgs.munlocked";
479    const std::string SYS_VMEMINFO_UNEVICTABLE_PGS_CLEARED_DESC = "sys.virtual.mem.unevictable.pgs.cleared";
480    const std::string SYS_VMEMINFO_UNEVICTABLE_PGS_STRANDED_DESC = "sys.virtual.mem.unevictable.pgs.stranded";
481    const std::string SYS_VMEMINFO_NR_ZSPAGES_DESC = "sys.virtual.mem.nr.zspages";
482    const std::string SYS_VMEMINFO_NR_ION_HEAP_DESC = "sys.virtual.mem.nr.ion.heap";
483    const std::string SYS_VMEMINFO_NR_GPU_HEAP_DESC = "sys.virtual.mem.nr.gpu.heap";
484    const std::string SYS_VMEMINFO_ALLOCSTALL_DMA_DESC = "sys.virtual.mem.allocstall.dma";
485    const std::string SYS_VMEMINFO_ALLOCSTALL_MOVABLE_DESC = "sys.virtual.mem.allocstall.movable";
486    const std::string SYS_VMEMINFO_ALLOCSTALL_NORMAL_DESC = "sys.virtual.mem.allocstall.normal";
487    const std::string SYS_VMEMINFO_COMPACT_DAEMON_FREE_SCANNED_DESC = "sys.virtual.mem.compact_daemon.free.scanned";
488    const std::string SYS_VMEMINFO_COMPACT_DAEMON_MIGRATE_SCANNED_DESC =
489        "sys.virtual.mem.compact.daemon.migrate.scanned";
490    const std::string SYS_VMEMINFO_NR_FASTRPC_DESC = "sys.virtual.mem.nr.fastrpc";
491    const std::string SYS_VMEMINFO_NR_INDIRECTLY_RECLAIMABLE_DESC = "sys.virtual.mem.nr.indirectly.reclaimable";
492    const std::string SYS_VMEMINFO_NR_ION_HEAP_POOL_DESC = "sys.virtual.mem.nr_ion_heap_pool";
493    const std::string SYS_VMEMINFO_NR_KERNEL_MISC_RECLAIMABLE_DESC = "sys.virtual.mem.nr.kernel_misc.reclaimable";
494    const std::string SYS_VMEMINFO_NR_SHADOW_CALL_STACK_BYTES_DESC = "sys.virtual.mem.nr.shadow_call.stack_bytes";
495    const std::string SYS_VMEMINFO_NR_SHMEM_HUGEPAGES_DESC = "sys.virtual.mem.nr.shmem.hugepages";
496    const std::string SYS_VMEMINFO_NR_SHMEM_PMDMAPPED_DESC = "sys.virtual.mem.nr.shmem.pmdmapped";
497    const std::string SYS_VMEMINFO_NR_UNRECLAIMABLE_PAGES_DESC = "sys.virtual.mem.nr.unreclaimable.pages";
498    const std::string SYS_VMEMINFO_NR_ZONE_ACTIVE_ANON_DESC = "sys.virtual.mem.nr.zone.active.anon";
499    const std::string SYS_VMEMINFO_NR_ZONE_ACTIVE_FILE_DESC = "sys.virtual.mem.nr.zone.active.file";
500    const std::string SYS_VMEMINFO_NR_ZONE_INACTIVE_ANON_DESC = "sys.virtual.mem.nr.zone.inactive_anon";
501    const std::string SYS_VMEMINFO_NR_ZONE_INACTIVE_FILE_DESC = "sys.virtual.mem.nr.zone.inactive_file";
502    const std::string SYS_VMEMINFO_NR_ZONE_UNEVICTABLE_DESC = "sys.virtual.mem.nr.zone.unevictable";
503    const std::string SYS_VMEMINFO_NR_ZONE_WRITE_PENDING_DESC = "sys.virtual.mem.nr.zone.write_pending";
504    const std::string SYS_VMEMINFO_OOM_KILL_DESC = "sys.virtual.mem.oom.kill";
505    const std::string SYS_VMEMINFO_PGLAZYFREE_DESC = "sys.virtual.mem.pglazyfree";
506    const std::string SYS_VMEMINFO_PGLAZYFREED_DESC = "sys.virtual.mem.pglazyfreed";
507    const std::string SYS_VMEMINFO_PGREFILL_DESC = "sys.virtual.mem.pgrefill";
508    const std::string SYS_VMEMINFO_PGSCAN_DIRECT_DESC = "sys.virtual.mem.pgscan.direct";
509    const std::string SYS_VMEMINFO_PGSCAN_KSWAPD_DESC = "sys.virtual.mem.pgscan.kswapd";
510    const std::string SYS_VMEMINFO_PGSKIP_DMA_DESC = "sys.virtual.mem.pgskip.dma";
511    const std::string SYS_VMEMINFO_PGSKIP_MOVABLE_DESC = "sys.virtual.mem.pgskip.movable";
512    const std::string SYS_VMEMINFO_PGSKIP_NORMAL_DESC = "sys.virtual.mem.pgskip.normal";
513    const std::string SYS_VMEMINFO_PGSTEAL_DIRECT_DESC = "sys.virtual.mem.pgsteal.direct";
514    const std::string SYS_VMEMINFO_PGSTEAL_KSWAPD_DESC = "sys.virtual.mem.pgsteal.kswapd";
515    const std::string SYS_VMEMINFO_SWAP_RA_DESC = "sys.virtual.mem.swap.ra";
516    const std::string SYS_VMEMINFO_SWAP_RA_HIT_DESC = "sys.virtual.mem.swap.ra.hit";
517    const std::string SYS_VMEMINFO_WORKINGSET_RESTORE_DESC = "sys.virtual.mem.workingset.restore";
518
519    const std::string TRACE_STAT_TYPE_RECEIVED_DESC = "received";
520    const std::string TRACE_STAT_TYPE_LOST_DESC = "data_lost";
521    const std::string TRACE_STAT_TYPE_NOTMATCH_DESC = "not_match";
522    const std::string TRACE_STAT_TYPE_NOTSUPPORTED_DESC = "not_supported";
523    const std::string TRACE_STAT_TYPE_DATA_INVALID_DESC = "invalid_data";
524
525    const std::string STAT_SEVERITY_LEVEL_INFO_DESC = "info";
526    const std::string STAT_SEVERITY_LEVEL_WARN_DESC = "warn";
527    const std::string STAT_SEVERITY_LEVEL_ERROR_DESC = "error";
528    const std::string STAT_SEVERITY_LEVEL_FATAL_DESC = "fatal";
529};
530} // namespace TraceCfg
531} // namespace SysTuning
532#endif
533