Lines Matching full:params
83 struct params { struct
102 static std::function<bool(ProcessRecord& a, ProcessRecord& b)> select_sort(struct params* params, in select_sort() argument
112 return a.Usage(params->show_wss).rss > b.Usage(params->show_wss).rss; in select_sort()
117 return a.Usage(params->show_wss).swap > b.Usage(params->show_wss).swap; in select_sort()
122 return a.Usage(params->show_wss).uss > b.Usage(params->show_wss).uss; in select_sort()
127 return a.Usage(params->show_wss).vss > b.Usage(params->show_wss).vss; in select_sort()
133 return a.Usage(params->show_wss).pss > b.Usage(params->show_wss).pss; in select_sort()
140 static bool populate_procs(struct params* params, uint64_t pgflags, uint64_t pgflags_mask, in populate_procs() argument
158 ->emplace(pid, ProcessRecord(pid, params->show_wss, pgflags, in populate_procs()
160 params->show_oomadj, err)) in populate_procs()
177 uint64_t vss = proc.Usage(params->show_wss).vss; in populate_procs()
181 if (!params->show_wss && params->swap_enabled && in populate_procs()
193 static void print_header(struct params* params, std::ostream& out) { in print_header() argument
195 if (params->show_oomadj) { in print_header()
199 if (params->show_wss) { in print_header()
204 if (params->swap_enabled) { in print_header()
206 if (params->zram_enabled) { in print_header()
215 static void print_divider(struct params* params, std::ostream& out) { in print_divider() argument
217 if (params->show_oomadj) { in print_divider()
221 if (params->show_wss) { in print_divider()
225 if (params->swap_enabled) { in print_divider()
227 if (params->zram_enabled) { in print_divider()
236 static void print_processrecord(struct params* params, ProcessRecord& proc, std::ostream& out) { in print_processrecord() argument
238 if (params->show_oomadj) { in print_processrecord()
242 if (params->show_wss) { in print_processrecord()
244 proc.Usage(params->show_wss).rss, proc.Usage(params->show_wss).pss, in print_processrecord()
245 proc.Usage(params->show_wss).uss); in print_processrecord()
248 proc.Usage(params->show_wss).vss, proc.Usage(params->show_wss).rss, in print_processrecord()
249 proc.Usage(params->show_wss).pss, proc.Usage(params->show_wss).uss); in print_processrecord()
250 if (params->swap_enabled) { in print_processrecord()
251 out << StringPrintf("%6" PRIu64 "K ", proc.Usage(params->show_wss).swap); in print_processrecord()
254 if (params->zram_enabled) { in print_processrecord()
262 static void print_totals(struct params* params, std::ostream& out) { in print_totals() argument
264 if (params->show_oomadj) { in print_totals()
268 if (params->show_wss) { in print_totals()
269 out << StringPrintf("%7s %6" PRIu64 "K %6" PRIu64 "K ", "", params->total_pss, in print_totals()
270 params->total_uss); in print_totals()
272 out << StringPrintf("%8s %7s %6" PRIu64 "K %6" PRIu64 "K ", "", "", params->total_pss, in print_totals()
273 params->total_uss); in print_totals()
274 if (params->swap_enabled) { in print_totals()
275 out << StringPrintf("%6" PRIu64 "K ", params->total_swap); in print_totals()
276 out << StringPrintf("%6" PRIu64 "K ", params->total_pswap); in print_totals()
277 out << StringPrintf("%6" PRIu64 "K ", params->total_uswap); in print_totals()
278 if (params->zram_enabled) { in print_totals()
279 out << StringPrintf("%6" PRIu64 "K ", params->total_zswap); in print_totals()
286 static void print_sysmeminfo(struct params* params, const ::android::meminfo::SysMemInfo& smi, in print_sysmeminfo() argument
288 if (params->swap_enabled) { in print_sysmeminfo()
301 static void add_to_totals(struct params* params, ProcessRecord& proc, in add_to_totals() argument
303 params->total_pss += proc.Usage(params->show_wss).pss; in add_to_totals()
304 params->total_uss += proc.Usage(params->show_wss).uss; in add_to_totals()
305 if (!params->show_wss && params->swap_enabled) { in add_to_totals()
306 proc.CalculateSwap(swap_offset_array, params->zram_compression_ratio); in add_to_totals()
307 params->total_swap += proc.Usage(params->show_wss).swap; in add_to_totals()
308 params->total_pswap += proc.proportional_swap(); in add_to_totals()
309 params->total_uswap += proc.unique_swap(); in add_to_totals()
310 if (params->zram_enabled) { in add_to_totals()
311 params->total_zswap += proc.zswap(); in add_to_totals()
328 struct procrank::params params = { in run_procrank() local
344 params.swap_enabled = swap_total > 0; in run_procrank()
347 if (params.swap_enabled) { in run_procrank()
348 params.zram_enabled = smi.mem_zram_kb() > 0; in run_procrank()
349 if (params.zram_enabled) { in run_procrank()
350 params.zram_compression_ratio = static_cast<float>(smi.mem_zram_kb()) / in run_procrank()
356 if (!procrank::populate_procs(¶ms, pgflags, pgflags_mask, swap_offset_array, pids, &procs, in run_procrank()
368 procrank::print_sysmeminfo(¶ms, smi, out); in run_procrank()
374 procrank::select_sort(¶ms, sort_order); in run_procrank()
383 procrank::print_header(¶ms, out); in run_procrank()
386 procrank::add_to_totals(¶ms, proc, swap_offset_array); in run_procrank()
387 procrank::print_processrecord(¶ms, proc, out); in run_procrank()
390 procrank::print_divider(¶ms, out); in run_procrank()
391 procrank::print_totals(¶ms, out); in run_procrank()
392 procrank::print_sysmeminfo(¶ms, smi, out); in run_procrank()
494 struct params { struct
507 static bool populate_libs(struct params* params, uint64_t pgflags, uint64_t pgflags_mask, in populate_libs() argument
524 true, params->show_oomadj, err)) in populate_libs()
540 if (!params->lib_prefix.empty() && !map.name.starts_with(params->lib_prefix)) { in populate_libs()
544 if (!params->all_libs && in populate_libs()
545 (std::find(params->excluded_libs.begin(), params->excluded_libs.end(), map.name) != in populate_libs()
546 params->excluded_libs.end())) { in populate_libs()
550 if (params->mapflags_mask && in populate_libs()
551 ((map.flags & (PROT_READ | PROT_WRITE | PROT_EXEC)) != params->mapflags_mask)) { in populate_libs()
559 if (!params->swap_enabled && map.usage.swap) { in populate_libs()
560 params->swap_enabled = true; in populate_libs()
567 static void print_header(struct params* params, std::ostream& out) { in print_header() argument
568 switch (params->format) { in print_header()
578 if (params->swap_enabled) { in print_header()
582 if (params->show_oomadj) { in print_header()
590 if (params->swap_enabled) { in print_header()
593 if (params->show_oomadj) { in print_header()
604 static void print_library(struct params* params, const LibRecord& lib, in print_library() argument
606 if (params->format == Format::RAW) { in print_library()
615 if (params->swap_enabled) { in print_library()
619 if (params->show_oomadj) { in print_library()
627 static void print_proc_as_raw(struct params* params, const LibProcRecord& p, std::ostream& out) { in print_proc_as_raw() argument
636 if (params->swap_enabled) { in print_proc_as_raw()
639 if (params->show_oomadj) { in print_proc_as_raw()
645 static void print_proc_as_json(struct params* params, const LibRecord& l, const LibProcRecord& p, in print_proc_as_json() argument
658 if (params->swap_enabled) { in print_proc_as_json()
661 if (params->show_oomadj) { in print_proc_as_json()
667 static void print_proc_as_csv(struct params* params, const LibRecord& l, const LibProcRecord& p, in print_proc_as_csv() argument
680 if (params->swap_enabled) { in print_proc_as_csv()
683 if (params->show_oomadj) { in print_proc_as_csv()
689 static void print_procs(struct params* params, const LibRecord& lib, in print_procs() argument
692 switch (params->format) { in print_procs()
694 print_proc_as_raw(params, p, out); in print_procs()
697 print_proc_as_json(params, lib, p, out); in print_procs()
700 print_proc_as_csv(params, lib, p, out); in print_procs()
716 struct librank::params params = { in run_librank() local
728 if (!librank::populate_libs(¶ms, pgflags, pgflags_mask, pids, lib_name_map, in run_librank()
733 librank::print_header(¶ms, out); in run_librank()
761 librank::print_library(¶ms, lib, out); in run_librank()
762 librank::print_procs(¶ms, lib, procs, out); in run_librank()
770 // These are defined as static variables instead of a struct (as in procrank::params and
771 // librank::params) because the collect_vma callback references them.