[][src]Module libcgroup_rs::iterators

3.Iterators

URL: Iterators

Functions:

  • cgroup_walk_tree_begin
  • cgroup_walk_tree_next
  • cgroup_walk_tree_end
  • cgroup_walk_tree_set_flags
  • cgroup_read_stats_begin
  • cgroup_read_stats_next
  • cgroup_read_stats_end
  • cgroup_get_task_begin
  • cgroup_get_task_next
  • cgroup_get_task_end
  • cgroup_get_controller_begin
  • cgroup_get_controller_next
  • cgroup_get_controller_end
  • cgroup_get_all_controller_begin
  • cgroup_get_all_controller_next
  • cgroup_get_all_controller_end

Usage(All_Controller):

use libcgroup_rs::initialization::CGroupInitializer;
use libcgroup_rs::iterators::CGroupAllControllerIterator,

fn main()->Result<(),Box<dyn std::error::Error>>{
    CGroupInitializer::init()?;

    let all_ctrl_iter = CGroupAllControllerIterator::from()?;

    for info in all_ctrl_iter.into_iter() {
        println!("Name = {}",info.get_name());
        println!("Hierarchy = {}",info.get_hierarchy());
        println!("Num CGroups = {}",info.get_num_cgroups());
        println!("Enabled = {}",info.get_enabled());
        println!("--------------------------------------------");
    }
    Ok(())
}

Usage(Controller):

use libcgroup_rs::initialization::CGroupInitializer;
use libcgroup_rs::iterators::CGroupControllerIterator,

fn main()->Result<(),Box<dyn std::error::Error>>{
    CGroupInitializer::init()?;

    let ctrl_iter = CGroupControllerIterator::from()?;
    for info in ctrl_iter.into_iter() {
        println!("Name = {}",info.get_name());
        println!("Path = {}",info.get_path());
        println!("--------------------------------------------");
    }

    Ok(())
}

Usage(Task):

use libcgroup_rs::initialization::CGroupInitializer;
use libcgroup_rs::iterators::CGroupTaskIterator,

fn main()->Result<(),Box<dyn std::error::Error>>{
    CGroupInitializer::init()?;

    let task_iter = CGroupTaskIterator::from("foo","cpu")?;
    for info in task_iter.into_iter() {
        println!("PID = {}",info);
        println!("--------------------------------------------");
    }

    Ok(())
}

Usage(Stat):

use libcgroup_rs::initialization::CGroupInitializer;
use libcgroup_rs::iterators::CGroupStatsIterator,

fn main()->Result<(),Box<dyn std::error::Error>>{
    CGroupInitializer::init()?;

    let stat_iter = CGroupStatsIterator::from("cpu","nr_periods")?;
    for info in stat_iter.into_iter() {
        println!("Name = {}",info.get_name());
        println!("Value = {}",info.get_value());
        println!("--------------------------------------------");
    }

    Ok(())
}

Structs

CGroupAllControllerIterator
CGroupControllerIterator
CGroupStatsIterator
CGroupTaskIterator
CGroupWalkIterator