summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorDaniel Friesel <daniel.friesel@uos.de>2022-09-23 14:56:12 +0200
committerDaniel Friesel <daniel.friesel@uos.de>2022-09-23 14:56:12 +0200
commite224ced44f95880d86f4913396d7c621fe2f2db1 (patch)
tree990db397803149b5d1ec444c6304078b2c8d3c5d /bin
parent51c6db6baaf75ba59807d14453ad4b63aad28936 (diff)
analyze-kconfig: add --export-aggregate option
(more compact than --export-observations)
Diffstat (limited to 'bin')
-rwxr-xr-xbin/analyze-kconfig.py24
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