示例#1
0
 def get_cpu_usage(cr):
     time.sleep(STABILIZATION_DURATION)
     cpu_usage_start = utils.get_cpu_usage()
     time.sleep(MEASUREMENT_DURATION)
     cpu_usage_end = utils.get_cpu_usage()
     return utils.compute_active_cpu_time(cpu_usage_start,
                                               cpu_usage_end) * 100
    def test_cpu_usage(self):
        """
        Runs the video cpu usage test.

        @param local_path: the path to the video file.

        @returns a dictionary that contains the test result.
        """
        cpu_usage_start = utils.get_cpu_usage()
        time.sleep(MEASUREMENT_DURATION)
        cpu_usage_end = utils.get_cpu_usage()
        return utils.compute_active_cpu_time(cpu_usage_start,
                                             cpu_usage_end) * 100
    def _get_cpu_usage(self):
        """Compute percent CPU in active use over the sample interval.

        Note: This method introduces a sleep period into the test, equal to
        90% of the sample interval.

        @returns float of percent active use of CPU.
        """
        # Time between measurements is ~90% of the sample interval.
        measurement_time_delta = SAMPLE_INTERVAL * 0.90
        cpu_usage_start = utils.get_cpu_usage()
        time.sleep(measurement_time_delta)
        cpu_usage_end = utils.get_cpu_usage()
        return utils.compute_active_cpu_time(cpu_usage_start,
                                             cpu_usage_end) * 100
    def get_cpu_usage(self):
        """Returns machine's CPU usage.

        Returns:
            A dictionary with 'user', 'nice', 'system' and 'idle' values.
            Sample dictionary:
            {
                'user': 254544,
                'nice': 9,
                'system': 254768,
                'idle': 2859878,
            }
        """
        return utils.get_cpu_usage()
示例#5
0
 def test_get_cpu_missing_columns(self):
     self.fake_file_text = 'cpu 254544 9 254768 2859878\n'
     usage = utils.get_cpu_usage()
     self.assertEquals({
         'user': 254544,
         'nice': 9,
         'system': 254768,
         'idle': 2859878,
         'iowait': 0,
         'irq': 0,
         'softirq': 0,
         'steal': 0,
         'guest': 0,
         'guest_nice': 0
     }, usage)
示例#6
0
 def test_get_cpu_usage(self):
     self.fake_file_text = 'cpu 254544 9 254768 2859878 1 2 3 4 5 6\n'
     usage = utils.get_cpu_usage()
     self.assertEquals({
         'user': 254544,
         'nice': 9,
         'system': 254768,
         'idle': 2859878,
         'iowait': 1,
         'irq': 2,
         'softirq': 3,
         'steal': 4,
         'guest': 5,
         'guest_nice': 6
     }, usage)
    def sample(self, fps_info):
        """Gets a fps sample with system state."""
        vmstat = self.get_vmstat()
        vmstat_diff = self.VMStat(
            *[(end - start) for start, end in zip(self._prev_vmstat, vmstat)])
        self._prev_vmstat = vmstat

        cpustat = utils.get_cpu_usage()
        cpuload = utils.compute_active_cpu_time(self._prev_cpustat, cpustat)
        self._prev_cpustat = cpustat

        mem_info_in_kb = utils.get_meminfo()
        # Converts mem_info from KB to MB.
        mem_info = collections.namedtuple(
            'MemInfo',
            mem_info_in_kb._fields)(*[v / float(1024) for v in mem_info_in_kb])

        consumer_pids = self._get_consumer_pid_func()
        logging.info('Consumers %s', consumer_pids)
        consumer_rss, consumer_swap = self.get_consumer_meminfo(consumer_pids)

        # fps_info = (frame_info, frame_times)
        fps_count = len([f for f in fps_info[0] if f != ' '])

        sample = self.Sample(
            pswpin=vmstat_diff.pswpin,
            pswpout=vmstat_diff.pswpout,
            free_mem=mem_info.MemFree,
            buff_mem=mem_info.Buffers,
            cached_mem=mem_info.Cached,
            anon_mem=mem_info.Active_anon + mem_info.Inactive_anon,
            file_mem=mem_info.Active_file + mem_info.Inactive_file,
            swap_free=mem_info.SwapFree,
            swap_used=mem_info.SwapTotal - mem_info.SwapFree,
            consumer_num=len(consumer_pids),
            consumer_rss=consumer_rss,
            consumer_swap=consumer_swap,
            cpuload=cpuload,
            fps=fps_count)

        logging.info(sample)

        with self._samples_lock:
            self._samples.append(sample)
 def stop(self):
     return utils.compute_active_cpu_time(
             self.start_cpu_usage_, utils.get_cpu_usage())
 def start(self):
     self.start_cpu_usage_ = utils.get_cpu_usage()
 def reset(self):
     """Resets its internal stats."""
     self._prev_vmstat = self.get_vmstat()
     self._prev_cpustat = utils.get_cpu_usage()