From 32787e435dba4b6e823dfb90468fab850bf70321 Mon Sep 17 00:00:00 2001 From: Milosz Wasilewski Date: Fri, 10 Jun 2016 12:54:55 +0100 Subject: added support for build image measurements Signed-off-by: Milosz Wasilewski --- post-build-report.py | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) (limited to 'post-build-report.py') diff --git a/post-build-report.py b/post-build-report.py index 868e737..44a0eb4 100644 --- a/post-build-report.py +++ b/post-build-report.py @@ -60,6 +60,55 @@ def _get_manifest(workspace_path): return None +def _results(workspace_path): + benchmarks = { + "Boot.oat size": ['boot_oat_size_ARM_32_Quick.txt', + 'boot_oat_size_ARM_64_Quick.txt', + 'boot_oat_size_x86_32_Quick.txt', + 'boot_oat_size_x86_64_Quick.txt', + 'boot_oat_size_x86_64_Optimizing.txt', + 'boot_oat_size_x86_32_Optimizing.txt', + 'boot_oat_size_ARM_64_Optimizing.txt', + 'boot_oat_size_ARM_32_Optimizing.txt', + 'boot_oat_size_mips_64_Optimizing.txt', + 'boot_oat_size_mips_32_Quick.txt'], + + "Oat Execution Time": ['avg_oat_time_ARM_32_Quick.txt', + 'avg_oat_time_ARM_64_Quick.txt', + 'avg_oat_time_x86_64_Quick.txt', + 'avg_oat_time_x86_32_Quick.txt', + 'avg_oat_time_x86_64_Optimizing.txt', + 'avg_oat_time_x86_32_Optimizing.txt', + 'avg_oat_time_ARM_32_Optimizing.txt', + 'avg_oat_time_ARM_64_Optimizing.txt', + 'avg_oat_time_mips_64_Optimizing.txt', + 'avg_oat_time_mips_32_Quick.txt'] + } + + val = [] + + for benchmark, subscores in benchmarks.items(): + for subscore in subscores: + path = os.path.join(workspace_path, subscore) + print path, os.path.exists(path) + if os.path.exists(path): + raw = open(path, 'r').read().strip() + measurement = float(raw.replace("YVALUE=", "")) + + name = (subscore + .replace("avg_oat_time_", "") + .replace("boot_oat_size_", "") + .replace(".txt", "") + .replace("_", " ")) + + val.append({ + "benchmark": benchmark, + "name": name, + "measurement": measurement + }) + + return val + if __name__ == '__main__': jenkins_project_name = os.environ.get("SOURCE_PROJECT_NAME") @@ -75,6 +124,7 @@ if __name__ == '__main__': manifest = _get_manifest(os.environ.get("WORKSPACE")) test_jobs = os.environ.get("LAVA_JOB_IDS", "") + results = _results(os.environ.get("WORKSPACE")) if jenkins_build_number is None: print "Build number not set. Exiting!" @@ -108,7 +158,9 @@ if __name__ == '__main__': "gerrit_change_number": os.environ.get("SOURCE_GERRIT_CHANGE_NUMBER"), "gerrit_patchset_number":os.environ.get("SOURCE_GERRIT_PATCHSET_NUMBER"), "gerrit_change_url": os.environ.get("SOURCE_GERRIT_CHANGE_URL"), - "gerrit_change_id": os.environ.get("SOURCE_GERRIT_CHANGE_ID", "") + "gerrit_change_id": os.environ.get("SOURCE_GERRIT_CHANGE_ID", ""), + + "results": results } print params -- cgit v1.2.3