From e224ced44f95880d86f4913396d7c621fe2f2db1 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Fri, 23 Sep 2022 14:56:12 +0200 Subject: analyze-kconfig: add --export-aggregate option (more compact than --export-observations) --- bin/analyze-kconfig.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'bin') 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 @@ -101,6 +101,17 @@ def main(): action="store_true", 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, @@ -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 -- cgit v1.2.3