Source code for insights.parsers.cpuset_cpus

"""
CpuSetCpus - File ``/sys/fs/cgroup/cpuset/cpuset.cpus``
=======================================================

This parser reads the content of ``/sys/fs/cgroup/cpuset/cpuset.cpus``.
This file shows the default cgroup cpuset.cpu of system. The format
of the content is string including comma.
"""

from .. import parser, CommandParser
from insights.specs import Specs


[docs]@parser(Specs.cpuset_cpus) class CpusetCpus(CommandParser): """ Class ``CpusetCpus`` parses the content of the ``/sys/fs/cgroup/cpuset/cpuset.cpus``. Attributes: cpu_set (list): It is used to show the list of allowed cpu. cpu_number (int): It is used to display the number of allowed cpu. A small sample of the content of this file looks like:: 0,2-4,7 Examples: >>> type(cpusetinfo) <class 'insights.parsers.cpuset_cpus.CpusetCpus'> >>> cpusetinfo.cpuset ["0", "2", "3", "4", "7"] >>> cpusetinfo.cpu_number 5 """
[docs] def parse_content(self, content): self.cpu_set = [] self.cpu_number = 0 values = content[0].strip().split(",") for value in values: if "-" in value: # Parse the value like "2-4" start, end = value.split("-") self.cpu_set.extend([str(i) for i in range(int(start), int(end) + 1)]) else: self.cpu_set.append(value) self.cpu_number = len(self.cpu_set)