def test_cpu_usage_for_process_calculates_result(self):
     """
     cputime_for_process correctly calculates the CPU percentage for
     a process by dividing the total cputime by the total wallclock
     time across all the samples.
     """
     process_name = 'test-process'
     results = [
         {
             'metric': {
                 'type': 'cputime'
             },
             'process': process_name,
             'value': 10,
             'wallclock': 60
         },
         {
             'metric': {
                 'type': 'cputime'
             },
             'process': process_name,
             'value': 30,
             'wallclock': 100
         },
     ]
     cputime_result = cpu_usage_for_process(results, process_name)
     # Total CPU time: 40
     # Total wallclock time: 160
     self.assertEqual(cputime_result, 0.25)
 def test_cpu_usage_for_process_calculates_result(self):
     """
     cputime_for_process correctly calculates the CPU percentage for
     a process by dividing the total cputime by the total wallclock
     time across all the samples.
     """
     process_name = 'test-process'
     results = [
         {
             'metric': {
                 'type': 'cputime'
             },
             'process': process_name,
             'value': 10,
             'wallclock': 60
         },
         {
             'metric': {
                 'type': 'cputime'
             },
             'process': process_name,
             'value': 30,
             'wallclock': 100
         },
     ]
     cputime_result = cpu_usage_for_process(results, process_name)
     # Total CPU time: 40
     # Total wallclock time: 160
     self.assertEqual(cputime_result, 0.25)
 def test_cpu_usage_for_process_no_matching_results(self):
     """
     cputime_for_process only considers results which have the
     'cputime' metric type and match the specified process name.
     None is returned if no results match.
     """
     process_name = "test-process"
     results = [
         {"metric": {"type": "wallclock"}, "process": process_name},
         {"metric": {"type": "cputime"}, "process": "another-process"},
     ]
     cputime_result = cpu_usage_for_process(results, process_name)
     self.assertEqual(cputime_result, None)
 def test_cpu_usage_for_process_calculates_result(self):
     """
     cputime_for_process correctly calculates the CPU percentage for
     a process by dividing the total cputime by the total wallclock
     time across all the samples.
     """
     process_name = "test-process"
     results = [
         {"metric": {"type": "cputime"}, "process": process_name, "value": 10, "wallclock": 60},
         {"metric": {"type": "cputime"}, "process": process_name, "value": 30, "wallclock": 100},
     ]
     cputime_result = cpu_usage_for_process(results, process_name)
     # Total CPU time: 40
     # Total wallclock time: 160
     self.assertEqual(cputime_result, 0.25)
 def test_cpu_usage_for_process_no_matching_results(self):
     """
     cputime_for_process only considers results which have the
     'cputime' metric type and match the specified process name.
     None is returned if no results match.
     """
     process_name = 'test-process'
     results = [
         {
             'metric': {
                 'type': 'wallclock'
             },
             'process': process_name
         },
         {
             'metric': {
                 'type': 'cputime'
             },
             'process': 'another-process'
         },
     ]
     cputime_result = cpu_usage_for_process(results, process_name)
     self.assertEqual(cputime_result, None)
 def test_cpu_usage_for_process_no_matching_results(self):
     """
     cputime_for_process only considers results which have the
     'cputime' metric type and match the specified process name.
     None is returned if no results match.
     """
     process_name = 'test-process'
     results = [
         {
             'metric': {
                 'type': 'wallclock'
             },
             'process': process_name
         },
         {
             'metric': {
                 'type': 'cputime'
             },
             'process': 'another-process'
         },
     ]
     cputime_result = cpu_usage_for_process(results, process_name)
     self.assertEqual(cputime_result, None)