Source code for insights.parsers.cpu_online

"""
cpu_online - File ``/sys/devices/system/cpu/online``
====================================================

This parser reads the content of ``/sys/devices/system/cpu/online``.
This file shows the number of online cpu. The format of the content
is string including comma.
"""

from insights.core import ContainerParser
from insights.core.plugins import parser
from insights.specs import Specs


[docs] @parser(Specs.container_cpu_online) class ContainerCpuOnline(ContainerParser): """ Class ``ContainerCpuOnline`` parses the content of the ``/sys/devices/system/cpu/online`` from containers. Attributes: cpu_online_set (list): It is used to show the list of online cpu. cpu_online_number (int): It is used to display the number of online cpu. A small sample of the content of this file looks like:: 0,2-4,7 Examples: >>> type(container_cpu_online_info) <class 'insights.parsers.cpu_online.ContainerCpuOnline'> >>> container_cpu_online_info.container_id '2869b4e2541c' >>> container_cpu_online_info.image 'registry.access.redhat.com/ubi8/nginx-120' >>> container_cpu_online_info.cpu_online_set ['0', '2', '3', '4', '7'] >>> container_cpu_online_info.cpu_online_number 5 """
[docs] def parse_content(self, content): self.cpu_online_set = [] self.cpu_online_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_online_set.extend([str(i) for i in range(int(start), int(end) + 1)]) else: self.cpu_online_set.append(value) self.cpu_online_number = len(self.cpu_online_set)