diff options
author | Birte Kristina Friesel <birte.friesel@uos.de> | 2025-01-13 09:45:03 +0100 |
---|---|---|
committer | Birte Kristina Friesel <birte.friesel@uos.de> | 2025-01-13 09:45:03 +0100 |
commit | 1bf4131f9b61e5c6d01e0f8e957091297aa4e9e9 (patch) | |
tree | 9b5a725e96476e4c397803ed59bda9b556fa50ba /bin | |
parent | 627cc91bda93188b2cbd16927da77ec34d909809 (diff) |
extract-speedup-from-log: add --add-param
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/extract-speedup-from-log.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/bin/extract-speedup-from-log.py b/bin/extract-speedup-from-log.py index 87b8ba9..e234acd 100755 --- a/bin/extract-speedup-from-log.py +++ b/bin/extract-speedup-from-log.py @@ -10,6 +10,7 @@ import dfatool.cli import dfatool.utils import logging import numpy as np +import sys from dfatool.loader import Logfile, CSVfile from dfatool.model import AnalyticModel from functools import reduce @@ -35,6 +36,12 @@ def main(): formatter_class=argparse.RawDescriptionHelpFormatter, description=__doc__ ) parser.add_argument( + "--add-param", + metavar="<param>=<value>[ <param>=<value> ...]", + type=str, + help="Add additional parameter specifications to output lines", + ) + parser.add_argument( "--filter-param", metavar="<parameter name><condition>[;<parameter name><condition>...]", type=str, @@ -166,7 +173,13 @@ def main(): for param_key in model_num.get_by_param().keys(): name, params = param_key num_data = model_num.get_by_param().get(param_key).get(args.observation) - denom_data = model_denom.get_by_param().get(param_key).get(args.observation) + try: + denom_data = model_denom.get_by_param().get(param_key).get(args.observation) + except AttributeError: + logging.error(f"Cannot find numerator param {param_key} in denominator") + logging.error(f"Parameter names == {tuple(parameter_names_num)}") + logging.error("You may need to adjust --ignore-param") + sys.exit(1) if num_data and denom_data: param_str = " ".join( map( @@ -174,6 +187,8 @@ def main(): range(len(params)), ) ) + if args.add_param is not None: + param_str += args.add_param for speedup in np.array(num_data) / np.array(denom_data): print(f"[::] {name} | {param_str} | speedup={speedup}") |