in below/view/src/cgroup_tabs.rs [161:187]
fn should_filter_out(cgroup: &CgroupModel, filter: &str, set: &mut HashSet<String>) -> bool {
// No children
if cgroup.count == 1 {
if !cgroup.data.full_path.contains(filter) {
set.insert(cgroup.data.full_path.clone());
return true;
}
return false;
}
let mut filter_cgroup = true;
for child in &cgroup.children {
if should_filter_out(&child, &filter, set) {
set.insert(child.data.full_path.clone());
} else {
// We found a child that's not filtered out. That means
// we have to keep this (the parent cgroup) too.
filter_cgroup = false;
}
}
if filter_cgroup {
set.insert(cgroup.data.full_path.clone());
}
filter_cgroup
}