summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/analyze-kconfig.py8
-rw-r--r--lib/utils.py18
2 files changed, 5 insertions, 21 deletions
diff --git a/bin/analyze-kconfig.py b/bin/analyze-kconfig.py
index e5bc243..d205a79 100755
--- a/bin/analyze-kconfig.py
+++ b/bin/analyze-kconfig.py
@@ -262,10 +262,6 @@ def main():
for param in to_remove:
observation["param"].pop(param)
- if args.param_shift:
- param_shift = dfatool.cli.parse_param_shift(args.param_shift)
- dfatool.utils.shift_param_in_observations(observations, param_shift)
-
if args.boolean_parameters:
if type(observations) is list:
logging.warning("--boolean-parameters is deprecated")
@@ -281,6 +277,10 @@ def main():
if args.ignore_param:
dfatool.utils.ignore_param(by_name, parameter_names, args.ignore_param)
+ if args.param_shift:
+ param_shift = dfatool.cli.parse_param_shift(args.param_shift)
+ shift_param_in_aggregate(by_name, parameters, param_shift)
+
# Release memory
del observations
diff --git a/lib/utils.py b/lib/utils.py
index 9e5d383..5b40f51 100644
--- a/lib/utils.py
+++ b/lib/utils.py
@@ -447,22 +447,6 @@ def by_param_to_by_name(by_param: dict) -> dict:
return by_name
-def shift_param_in_observations(observations, parameter_shift):
- for param_name, param_shift_function in parameter_shift:
- if param_name == "*":
- for observation in observations:
- for param_name in observation["param"].keys():
- observation["param"][param_name] = param_shift_function(
- observation["param"][param_name]
- )
- else:
- for observation in observations:
- if observation["param"][param_name] is not None:
- observation["param"][param_name] = param_shift_function(
- observation["param"][param_name]
- )
-
-
def shift_param_in_aggregate(aggregate, parameters, parameter_shift):
"""
Remove entries which do not have certain parameter values from `aggregate`.
@@ -472,7 +456,7 @@ def shift_param_in_aggregate(aggregate, parameters, parameter_shift):
and
aggregate[state or transition name]['attributes'] = [list of keys with measurement data, e.g. 'power' or 'duration']
:param parameters: list of parameters, used to map parameter index to parameter name. parameters=['foo', ...] means 'foo' is the first parameter
- :param parameter_filter: [[name, value], [name, value], ...] list of parameter values to keep, all others are removed. Values refer to normalizad parameter data.
+ :param parameter_shift: [[name, function], [name, function], ...] list of parameter values to alter.
"""
for param_name, param_shift_function in parameter_shift:
if param_name == "*":