code: def get_cpu_usage_percentage(self):
      current_timestamp_nanos = time.time() * 10**9
      cpu_cumulative_usage_nanos = (
          self.__cgroup_filesystem_reader.get_cpuacct_usage_nanos()
      )
  
      if self.__first_measurement():
          current_usage = 0.0
      else:
          usage_diff = (
              cpu_cumulative_usage_nanos
              - self.__last_cpu_cumulative_usage_nanos
          )
          time_diff = (
              current_timestamp_nanos
              - self.__last_cpu_usage_measurement_timestamp_nanos
          )
          current_usage = (
              float(usage_diff)
              / float(time_diff)
              / self.get_cpu_usage_limit_in_cores()
              * 100.0
          )
  
      self.__last_cpu_usage_measurement_timestamp_nanos = (
          current_timestamp_nanos
      )
      self.__last_cpu_cumulative_usage_nanos = (
          cpu_cumulative_usage_nanos
      )
  
      # cgroup cpu usage may slightly exceed the given limit, but we don't want to show it
      return self.__clamp(
          current_usage, lower_limit=0.0, upper_limit=100.0
      )
  
file_path: neptune-client/src/neptune/common/hardware/cgroup/cgroup_monitor.py
imports: import time
  from neptune.common.hardware.cgroup.cgroup_filesystem_reader import CGroupFilesystemReader
  from neptune.common.hardware.system.system_monitor import SystemMonitor
label_desc: Use image node_id 6 for calling the CGroupMonitor obj's underlying member method code with example usage: obj.get_cpu_usage_percentage() and returns: self