From c5b07343a75f1a440721f66158e10965838ce194 Mon Sep 17 00:00:00 2001 From: mbeierl Date: Tue, 6 Dec 2016 10:54:10 -0500 Subject: Allow 0 to match steady state and don't terminate the warmup Change-Id: I61f8ce4e719e2c2ef7597c0e41aff8c8d79edc2d Signed-off-by: mbeierl --- storperf/utilities/data_handler.py | 9 +++++---- storperf/utilities/steady_state.py | 12 ++++++------ 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/storperf/utilities/data_handler.py b/storperf/utilities/data_handler.py index ebf715a..ebc1bfd 100644 --- a/storperf/utilities/data_handler.py +++ b/storperf/utilities/data_handler.py @@ -9,15 +9,14 @@ import logging import os -from time import sleep -import time - from storperf.db import test_results_db from storperf.db.graphite_db import GraphiteDB from storperf.utilities import data_treatment as DataTreatment from storperf.utilities import dictionary from storperf.utilities import math as math from storperf.utilities import steady_state as SteadyState +from time import sleep +import time class DataHandler(object): @@ -65,7 +64,9 @@ class DataHandler(object): executor.metadata['report_data'] = metrics executor.metadata['steady_state'] = steady_state - if steady_state: + workload_name = executor.current_workload.split('.')[1] + + if steady_state and not workload_name.startswith('_'): executor.terminate() def _lookup_prior_data(self, executor, metric, io_type): diff --git a/storperf/utilities/steady_state.py b/storperf/utilities/steady_state.py index 0bbe21e..13f609d 100644 --- a/storperf/utilities/steady_state.py +++ b/storperf/utilities/steady_state.py @@ -38,15 +38,15 @@ def steady_state(data_series): average_value is not None): # Verification of the Steady State conditions following the SNIA # definition - range_condition = abs(range_value) < 0.20 * abs(average_value) - slope_condition = abs(slope_value) < 0.10 * abs(average_value) + range_condition = abs(range_value) <= 0.20 * abs(average_value) + slope_condition = abs(slope_value) <= 0.10 * abs(average_value) steady_state = range_condition and slope_condition - logger.debug("Range %s < %s?" % (abs(range_value), - (0.20 * abs(average_value)))) - logger.debug("Slope %s < %s?" % (abs(slope_value), - (0.10 * abs(average_value)))) + logger.debug("Range %s <= %s?" % (abs(range_value), + (0.20 * abs(average_value)))) + logger.debug("Slope %s <= %s?" % (abs(slope_value), + (0.10 * abs(average_value)))) logger.debug("Steady State? %s" % steady_state) else: steady_state = False -- cgit 1.2.3-korg