summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Friesel <daniel.friesel@uos.de>2019-09-09 08:00:09 +0200
committerDaniel Friesel <daniel.friesel@uos.de>2019-09-09 08:00:09 +0200
commit454014918bd8be3225139f6bef4b97976a298479 (patch)
tree8821679ba0f3e548acc5f4acf9abd3cb763c013a
parent1a7c8bdb477987eb6e0f6710e68148c4d46e01ab (diff)
optionally also analyze mean transition power
-rwxr-xr-xbin/analyze-archive.py8
-rwxr-xr-xlib/dfatool.py2
2 files changed, 10 insertions, 0 deletions
diff --git a/bin/analyze-archive.py b/bin/analyze-archive.py
index 8ced365..031bef5 100755
--- a/bin/analyze-archive.py
+++ b/bin/analyze-archive.py
@@ -253,6 +253,14 @@ if __name__ == '__main__':
param,
model.stats.param_dependence_ratio(state, 'power', param)))
for trans in model.transitions():
+ # Mean power is not a typical transition attribute, but may be present for debugging or analysis purposes
+ try:
+ print('{:10s}: {:.0f} µW ({:.2f})'.format(
+ trans,
+ static_model(trans, 'power'),
+ model.stats.generic_param_dependence_ratio(trans, 'power')))
+ except KeyError:
+ pass
print('{:10s}: {:.0f} / {:.0f} / {:.0f} pJ ({:.2f} / {:.2f} / {:.2f})'.format(
trans, static_model(trans, 'energy'),
static_model(trans, 'rel_energy_prev'),
diff --git a/lib/dfatool.py b/lib/dfatool.py
index abf8c10..340a6e5 100755
--- a/lib/dfatool.py
+++ b/lib/dfatool.py
@@ -1381,6 +1381,8 @@ def _add_trace_data_to_aggregate(aggregate, key, element):
else:
# TODO do not hardcode values
aggregate[key]['attributes'] = ['duration', 'energy', 'rel_energy_prev', 'rel_energy_next']
+ # Uncomment this line if you also want to analyze mean transition power
+ #aggrgate[key]['attributes'].append('power')
if 'plan' in element and element['plan']['level'] == 'epilogue':
aggregate[key]['attributes'].insert(0, 'timeout')
attributes = aggregate[key]['attributes'].copy()