Add option to accumulate a child's resources in parent in tree-view

This commit is contained in:
nobounce 2023-09-14 23:27:05 +02:00
parent 2c3ac4855d
commit 6027cedd42
No known key found for this signature in database
GPG Key ID: CC8B8C464BDC2F39
3 changed files with 15 additions and 0 deletions

View File

@ -107,6 +107,8 @@ namespace Config {
{"proc_filter_kernel", "#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop)."},
{"proc_aggregate", "#* In tree-view, always accumulate child process resources in the parent process."},
{"cpu_graph_upper", "#* Sets the CPU stat shown in upper half of the CPU graph, \"total\" is always available.\n"
"#* Select from a list of detected attributes from the options menu."},
@ -268,6 +270,7 @@ namespace Config {
{"lowcolor", false},
{"show_detailed", false},
{"proc_filtering", false},
{"proc_aggregate", false},
};
unordered_flat_map<std::string_view, bool> boolsTmp;

View File

@ -589,6 +589,11 @@ namespace Menu {
"Set true to show processes grouped by",
"parents with lines drawn between parent",
"and child process."},
{"proc_aggregate",
"Aggregate child's resources in parent.",
"",
"In tree-view, include all child resources",
"with the parent even while expanded."},
{"proc_colors",
"Enable colors in process view.",
"",

View File

@ -18,6 +18,7 @@ tab-size = 4
#include <ranges>
#include "btop_config.hpp"
#include "btop_shared.hpp"
#include "btop_tools.hpp"
@ -156,6 +157,12 @@ namespace Proc {
filter_found++;
p.filtered = true;
}
else if (Config::getB("proc_aggregate")) {
cur_proc.cpu_p += p.cpu_p;
cur_proc.cpu_c += p.cpu_c;
cur_proc.mem += p.mem;
cur_proc.threads += p.threads;
}
}
if (collapsed or filtering) {
return;