Merge "Standalone XML machine type is not longer valid"
[yardstick.git] / yardstick / benchmark / runners / duration.py
index 2cb2600..60b0348 100644 (file)
@@ -66,6 +66,8 @@ def _worker_process(queue, cls, method_name, scenario_cfg,
         data = {}
         errors = ""
 
+        benchmark.pre_run_wait_time(interval)
+
         try:
             result = method(data)
         except AssertionError as assertion:
@@ -77,7 +79,7 @@ def _worker_process(queue, cls, method_name, scenario_cfg,
                 errors = assertion.args
         # catch all exceptions because with multiprocessing we can have un-picklable exception
         # problems  https://bugs.python.org/issue9400
-        except Exception:
+        except Exception:  # pylint: disable=broad-except
             errors = traceback.format_exc()
             LOG.exception("")
         else:
@@ -86,7 +88,7 @@ def _worker_process(queue, cls, method_name, scenario_cfg,
                 # if we do timeout we don't care about dropping individual KPIs
                 output_queue.put(result, True, QUEUE_PUT_TIMEOUT)
 
-        time.sleep(interval)
+        benchmark.post_run_wait_time(interval)
 
         benchmark_output = {
             'timestamp': time.time(),
@@ -138,7 +140,9 @@ If the scenario ends before the time has elapsed, it will be started again.
     __execution_type__ = 'Duration'
 
     def _run_benchmark(self, cls, method, scenario_cfg, context_cfg):
+        name = "{}-{}-{}".format(self.__execution_type__, scenario_cfg.get("type"), os.getpid())
         self.process = multiprocessing.Process(
+            name=name,
             target=_worker_process,
             args=(self.result_queue, cls, method, scenario_cfg,
                   context_cfg, self.aborted, self.output_queue))