def __init__(self, config, track, challenge, es_client_factory_class=client.EsClientFactory): self.logger = logging.getLogger(__name__) self.config = config self.track = track self.challenge = challenge self.es_client_factory = es_client_factory_class self.metrics_store = None self.progress_reporter = console.progress() self.throughput_calculator = driver.ThroughputCalculator() self.raw_samples = [] self.most_recent_sample_per_client = {} self.current_tasks = [] self.telemetry = None self.es_clients = None self.quiet = self.config.opts("system", "quiet.mode", mandatory=False, default_value=False) # TODO: Change the default value to `False` once this implementation becomes the default self.debug_event_loop = self.config.opts("system", "async.debug", mandatory=False, default_value=True) self.abort_on_error = self.config.opts("driver", "on.error") == "abort" self.profiling_enabled = self.config.opts("driver", "profiling") self.sampler = None
def calculate_global_throughput(self, samples): return driver.ThroughputCalculator().calculate(samples)