diff options
author | 2019-01-31 13:01:44 +0000 | |
---|---|---|
committer | 2019-01-31 13:01:44 +0000 | |
commit | 8ca60c71beb38d0ea2cd497310814d9df8ca0e8e (patch) | |
tree | 8a65b6467c2db6c3e9a284196f2cecff406f5d8d /yardstick/benchmark/core/report.py | |
parent | 7968b9cd5e1c914cb27f00daf4bee671118f922d (diff) | |
parent | a8576baa7914da8dca889b1b63275d968b1a3223 (diff) |
Merge "Refactor: add _get_timestamps()"
Diffstat (limited to 'yardstick/benchmark/core/report.py')
-rw-r--r-- | yardstick/benchmark/core/report.py | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/yardstick/benchmark/core/report.py b/yardstick/benchmark/core/report.py index 0819cd497..b7d2fd02b 100644 --- a/yardstick/benchmark/core/report.py +++ b/yardstick/benchmark/core/report.py @@ -1,6 +1,6 @@ ############################################################################## # Copyright (c) 2017 Rajesh Kudaka <4k.rajesh@gmail.com> -# Copyright (c) 2018 Intel Corporation. +# Copyright (c) 2018-2019 Intel Corporation. # # All rights reserved. This program and the accompanying materials # are made available under the terms of the Apache License, Version 2.0 @@ -121,6 +121,25 @@ class Report(object): else: raise KeyError("Task ID or Test case not found.") + def _get_trimmed_timestamp(self, metric_time, resolution=4): + if not isinstance(metric_time, str): + metric_time = metric_time.encode('utf8') # PY2: unicode to str + metric_time = metric_time[11:] # skip date, keep time + head, _, tail = metric_time.partition('.') # split HH:MM:SS & nsZ + metric_time = head + '.' + tail[:resolution] # join HH:MM:SS & .us + return metric_time + + def _get_timestamps(self, metrics, resolution=6): + # Extract the timestamps from a list of metrics + timestamps = [] + for metric in metrics: + metric_time = self._get_trimmed_timestamp( + metric['time'], resolution) + timestamps.append(metric_time) # HH:MM:SS.micros + return timestamps + + @cliargs("task_id", type=str, help=" task id", nargs=1) + @cliargs("yaml_name", type=str, help=" Yaml file Name", nargs=1) def _generate_common(self, args): """Actions that are common to both report formats. @@ -147,15 +166,7 @@ class Report(object): for field in db_fieldkeys]] # extract timestamps - self.Timestamp = [] - for metric in db_metrics: - metric_time = metric['time'] # in RFC3339 format - if not isinstance(metric_time, str): - metric_time = metric_time.encode('utf8') # PY2: unicode to str - metric_time = metric_time[11:] # skip date, keep time - head, _, tail = metric_time.partition('.') # split HH:MM:SS and nsZ - metric_time = head + '.' + tail[:6] # join HH:MM:SS and .us - self.Timestamp.append(metric_time) # HH:MM:SS.micros + self.Timestamp = self._get_timestamps(db_metrics) # prepare return values datasets = [] |