diff options
author | Daniel Friesel <daniel.friesel@uos.de> | 2022-09-23 14:56:12 +0200 |
---|---|---|
committer | Daniel Friesel <daniel.friesel@uos.de> | 2022-09-23 14:56:12 +0200 |
commit | e224ced44f95880d86f4913396d7c621fe2f2db1 (patch) | |
tree | 990db397803149b5d1ec444c6304078b2c8d3c5d /bin | |
parent | 51c6db6baaf75ba59807d14453ad4b63aad28936 (diff) |
analyze-kconfig: add --export-aggregate option
(more compact than --export-observations)
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/analyze-kconfig.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/bin/analyze-kconfig.py b/bin/analyze-kconfig.py index d205a79..cea1c9e 100755 --- a/bin/analyze-kconfig.py +++ b/bin/analyze-kconfig.py @@ -102,6 +102,17 @@ def main(): help="Exit after exporting observations to CSV file", ) parser.add_argument( + "--export-aggregate", + type=str, + metavar="FILE.json.xz", + help="Export aggregated observations (intermediate and generic benchmark data representation) to FILE. Exported observations are affected by --param-shift and --ignore-param.", + ) + parser.add_argument( + "--export-aggregate-only", + action="store_true", + help="Exit after exporting aggregated observations", + ) + parser.add_argument( "--export-observations", type=str, metavar="FILE.json.xz", @@ -281,6 +292,19 @@ def main(): param_shift = dfatool.cli.parse_param_shift(args.param_shift) shift_param_in_aggregate(by_name, parameters, param_shift) + if args.export_aggregate: + import lzma + + print(f"Exporting aggregate to {args.export_aggregate}") + with lzma.open(args.export_aggregate, "wt") as f: + json.dump( + {"by_name": by_name, "param_names": parameter_names}, + f, + cls=dfatool.utils.NpEncoder, + ) + if args.export_aggregate_only: + return + # Release memory del observations |