From patchwork Mon Apr 15 14:41:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ninette Adhikari X-Patchwork-Id: 42357 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 54CCFC00A94 for ; Mon, 15 Apr 2024 14:41:38 +0000 (UTC) Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [209.85.218.48]) by mx.groups.io with SMTP id smtpd.web11.22970.1713192095855731800 for ; Mon, 15 Apr 2024 07:41:36 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@thehoodiefirm-com.20230601.gappssmtp.com header.s=20230601 header.b=e96ZD7jn; spf=neutral (domain: thehoodiefirm.com, ip: 209.85.218.48, mailfrom: ninette@thehoodiefirm.com) Received: by mail-ej1-f48.google.com with SMTP id a640c23a62f3a-a54176639ecso86405166b.0 for ; Mon, 15 Apr 2024 07:41:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thehoodiefirm-com.20230601.gappssmtp.com; s=20230601; t=1713192094; x=1713796894; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=6s5sWiceyBTsH3kZm31IGPFI5TuXN4k2D0HgTwSDlgg=; b=e96ZD7jnFuFWsndh3lFSu24hDfvrqyvj6gk1KB2kirsFoyFsnmF+Q2iJFiUhA0ZrVL 4t7LNJsQRm9ePI7OIlKSwUATFQd/e85Cq0Da+tO+BT8n0oQrh6Cce4cPp/3WPccoP4oW xt0eOQQTFvHphLdWgYOuXRmGpq/eybOeQDvmKZJjSKGJrGVZh08BDv5rkrueAnQwU55l 029yN0dYyLYTp/v0Ym8FaY2FYeva9y0H++LQcL3jjLfxRAJ4NkAzDtT3OThlfY6tsdVw sbiUOiOTCHIyJ1V6OccaZhUXBMcrg980DamMfL5x2OLEGzJx5EIOhvdi1PuucWNWcxQg OGhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713192094; x=1713796894; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=6s5sWiceyBTsH3kZm31IGPFI5TuXN4k2D0HgTwSDlgg=; b=kxmvlfpQWeC9yUqnsRKVplQ+OJcWOFfsF3mtYPwBHUaI7mNTMrawIemadFCmEQVMi4 L14bj5X1rhrTRvwfFjmuhUKhCgulFxzkdww8+bE+m1rECcDeZh0Zdzzon+MsscAHeQ4C I+PvN+ze6kzW+lBiacbwi0OU23ASLA2KXsRHD9xRYh8giuvNmGJDLvl+fV55bF8LLpqd 0VRDbeayrSVkdagTCOe5UN/tnMhvkSaaYspOEdaJIhomFn2NOOxVN5N5pfTBql5sbo4C h11vUhxGqVeG+/tsflSAGgRjKTZC+COOxEZg6JRdnPFDLB7iEgJczD4jSjrtPRWlyr6m 1URA== X-Gm-Message-State: AOJu0YxPC9iNeXQ5639yU5tx0w/e1oG671ljq72ZFdw7S8OIq1A4TjiM QGtngNeU7wiP6J9hdmveFtoK7baK4HyTenXVafxjOs8klPZdfsas/bC+Nty2QVv8Bul/V5yRB2P D X-Google-Smtp-Source: AGHT+IFI9oVFZEzImTx3N7f9vl+533+YnvMg0bdm7Rc7WnMdxt0yUDnL/eG8MG95rSyuKEMakYO34w== X-Received: by 2002:a17:907:7f94:b0:a50:e069:55ab with SMTP id qk20-20020a1709077f9400b00a50e06955abmr7829611ejc.55.1713192094127; Mon, 15 Apr 2024 07:41:34 -0700 (PDT) Received: from localhost.localdomain ([62.72.77.226]) by smtp.gmail.com with ESMTPSA id bq3-20020a170906d0c300b00a522f867697sm4658749ejb.132.2024.04.15.07.41.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Apr 2024 07:41:33 -0700 (PDT) From: Ninette Adhikari To: openembedded-core@lists.openembedded.org Cc: Ninette Adhikari <13760198+ninetteadhikari@users.noreply.github.com>, Ninette Adhikari Subject: [PATCH 1/3] oe-build-perf-report: Add apache echarts to make report interactive Date: Mon, 15 Apr 2024 16:41:27 +0200 Message-ID: <20240415144129.92641-2-ninette@thehoodiefirm.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240415144129.92641-1-ninette@thehoodiefirm.com> References: <20240415144129.92641-1-ninette@thehoodiefirm.com> Reply-To: engineering@neighbourhood.ie MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 15 Apr 2024 14:41:38 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/198240 From: Ninette Adhikari <13760198+ninetteadhikari@users.noreply.github.com> - Add Apache echarts (https://echarts.apache.org/en/index.html) library to create build performance charts. - Restructure data to time and value array format so that it can be used by echarts. - This commit also converts test duration to minutes to map against the values axis. - Zoom is added to the line charts. Signed-off-by: Ninette Adhikari --- .../build_perf/html/measurement_chart.html | 116 +++++++++++------- scripts/lib/build_perf/html/report.html | 6 +- 2 files changed, 72 insertions(+), 50 deletions(-) diff --git a/scripts/lib/build_perf/html/measurement_chart.html b/scripts/lib/build_perf/html/measurement_chart.html index 65f1a227ad..ffec3d09db 100644 --- a/scripts/lib/build_perf/html/measurement_chart.html +++ b/scripts/lib/build_perf/html/measurement_chart.html @@ -1,50 +1,76 @@ - diff --git a/scripts/lib/build_perf/html/report.html b/scripts/lib/build_perf/html/report.html index d1ba6f2578..653fd985bc 100644 --- a/scripts/lib/build_perf/html/report.html +++ b/scripts/lib/build_perf/html/report.html @@ -3,11 +3,7 @@ {# Scripts, for visualization#} - - + {# Render measurement result charts #} {% for test in test_data %} From patchwork Mon Apr 15 14:41:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ninette Adhikari X-Patchwork-Id: 42356 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 474FAC04FF8 for ; Mon, 15 Apr 2024 14:41:38 +0000 (UTC) Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com [209.85.208.51]) by mx.groups.io with SMTP id smtpd.web10.22810.1713192097024415408 for ; Mon, 15 Apr 2024 07:41:37 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@thehoodiefirm-com.20230601.gappssmtp.com header.s=20230601 header.b=CbfavIRm; spf=neutral (domain: thehoodiefirm.com, ip: 209.85.208.51, mailfrom: ninette@thehoodiefirm.com) Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-56e1bbdb362so3399817a12.1 for ; Mon, 15 Apr 2024 07:41:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thehoodiefirm-com.20230601.gappssmtp.com; s=20230601; t=1713192095; x=1713796895; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=UlWsfqTAG7RHDAZaw9Dvkq0glLcU+oq7otggdIC1mwA=; b=CbfavIRmLNMhROhf9aMur3mY7FruH6I/Yb2XgWDiQFAtZuDQ1GMsksOSJx6caxaB/a j2oqKpvKO0d5BLxBrHzCPz7N+K0jX59fUyHMMbgJcM+ZU6+wMc/9lb0gp2XdM9OdHzgd aH6xiLmyC5qG22oOAdO/bseRWwjhaSsmEL2OSrRl6cmE8Jo6X0yZJbFeGwENCX3eFZ56 iET4V7gUqRjiExHlJedXZGx+uuQ+dp+DbMfp2sOqdAtXQRZSWcLM4gLvJyRA+KbtHEDe 1r9zC2c8X0sZ81bWVhI/VQoCFHtLdbJg5SjyGjr1MSb0u/c6ZeX/r5pbQvRnqDc9PcSk lHEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713192095; x=1713796895; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=UlWsfqTAG7RHDAZaw9Dvkq0glLcU+oq7otggdIC1mwA=; b=FvMV1WR/qn9PeLwvVLDN4KlIT62oRfVx6jK9I4XfofzPDxpA9dJRx2PAU80wyEPBBb NLjCfY1tV+QYo5onRl9AW3HTaNfyex4ntNeHwtsSlBNtMMsvKLUDFjhyDy4dqRTz9a8E DSjS8dhfDaRNThDsxdMfxY339axDHAovENu4oaxpgtnUw/OO1ZdINHuDkZ/bYQU0Nd3Y H0mqluEF94q7N0AYb1rKsarZgsikTAvL7XMcO5gF5C2+drmr0Yl/WjldPI37gDAYToEW dBTRWcARLwbWK93hKCsK3LguwDX1ZAQ0mBIDQrZ5iuegjP47DJN3sNiYxIJtopVIrF1r divA== X-Gm-Message-State: AOJu0YwKUSegIsXDKMu/pR9c5SOc0yuw41khzCD7xB+GbLCzwUyGOLT5 q2Y8MTf86ARs5BlFuFQMzC8Xrk9gyfTAOpyKHzZQoIrAVopIKglpLfpO0g3DPZL3i5o+8Q1XO22 y X-Google-Smtp-Source: AGHT+IELP1t9GLIEfFQCSnParbtxxoVF+w3LvVsduXq4nCmFUbwaCG4e7Ljn0tsgi1PrBR8MPyDR2g== X-Received: by 2002:a17:907:36c2:b0:a54:4f06:375d with SMTP id bj2-20020a17090736c200b00a544f06375dmr1724198ejc.62.1713192095399; Mon, 15 Apr 2024 07:41:35 -0700 (PDT) Received: from localhost.localdomain ([62.72.77.226]) by smtp.gmail.com with ESMTPSA id bq3-20020a170906d0c300b00a522f867697sm4658749ejb.132.2024.04.15.07.41.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Apr 2024 07:41:35 -0700 (PDT) From: Ninette Adhikari To: openembedded-core@lists.openembedded.org Cc: Ninette Adhikari <13760198+ninetteadhikari@users.noreply.github.com>, Ninette Adhikari Subject: [PATCH 2/3] oe-build-perf-report: Display more than 300 commits and date instead of commit number Date: Mon, 15 Apr 2024 16:41:28 +0200 Message-ID: <20240415144129.92641-3-ninette@thehoodiefirm.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240415144129.92641-1-ninette@thehoodiefirm.com> References: <20240415144129.92641-1-ninette@thehoodiefirm.com> Reply-To: engineering@neighbourhood.ie MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 15 Apr 2024 14:41:38 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/198241 From: Ninette Adhikari <13760198+ninetteadhikari@users.noreply.github.com> - This commit updates measurement statistics data to include start_time so that time can be displayed instead of commit numbers on the chart. - It also updates default commit history length to 300. Signed-off-by: Ninette Adhikari --- scripts/lib/build_perf/report.py | 4 +++- scripts/oe-build-perf-report | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/scripts/lib/build_perf/report.py b/scripts/lib/build_perf/report.py index ab77424cc7..82c56830d7 100644 --- a/scripts/lib/build_perf/report.py +++ b/scripts/lib/build_perf/report.py @@ -294,7 +294,7 @@ class SizeVal(MeasurementVal): return "null" return self / 1024 -def measurement_stats(meas, prefix=''): +def measurement_stats(meas, prefix='', time=0): """Get statistics of a measurement""" if not meas: return {prefix + 'sample_cnt': 0, @@ -319,6 +319,7 @@ def measurement_stats(meas, prefix=''): stats['quantity'] = val_cls.quantity stats[prefix + 'sample_cnt'] = len(values) + start_time = time # Add start time for both type sysres and disk usage mean_val = val_cls(mean(values)) min_val = val_cls(min(values)) max_val = val_cls(max(values)) @@ -334,6 +335,7 @@ def measurement_stats(meas, prefix=''): stats[prefix + 'max'] = max_val stats[prefix + 'minus'] = val_cls(mean_val - min_val) stats[prefix + 'plus'] = val_cls(max_val - mean_val) + stats[prefix + 'start_time'] = start_time return stats diff --git a/scripts/oe-build-perf-report b/scripts/oe-build-perf-report index 7812ea4540..266700d294 100755 --- a/scripts/oe-build-perf-report +++ b/scripts/oe-build-perf-report @@ -336,7 +336,9 @@ def print_html_report(data, id_comp, buildstats): test_i = test_data['tests'][test] meas_i = test_i['measurements'][meas] commit_num = get_data_item(meta, 'layers.meta.commit_count') - samples.append(measurement_stats(meas_i)) + # Add start_time for both test measurement types of sysres and disk usage + start_time = test_i['start_time'][0] + samples.append(measurement_stats(meas_i, '', start_time)) samples[-1]['commit_num'] = commit_num absdiff = samples[-1]['val_cls'](samples[-1]['mean'] - samples[id_comp]['mean']) @@ -473,7 +475,7 @@ Examine build performance test results from a Git repository""" group.add_argument('--branch', '-B', default='master', help="Branch to find commit in") group.add_argument('--branch2', help="Branch to find comparision revisions in") group.add_argument('--machine', default='qemux86') - group.add_argument('--history-length', default=25, type=int, + group.add_argument('--history-length', default=300, type=int, help="Number of tested revisions to plot in html report") group.add_argument('--commit', help="Revision to search for") From patchwork Mon Apr 15 14:41:29 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ninette Adhikari X-Patchwork-Id: 42358 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 48A78C04FF8 for ; Mon, 15 Apr 2024 14:41:48 +0000 (UTC) Received: from mail-ej1-f42.google.com (mail-ej1-f42.google.com [209.85.218.42]) by mx.groups.io with SMTP id smtpd.web11.22972.1713192098473927227 for ; Mon, 15 Apr 2024 07:41:38 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@thehoodiefirm-com.20230601.gappssmtp.com header.s=20230601 header.b=XKzqWtrx; spf=neutral (domain: thehoodiefirm.com, ip: 209.85.218.42, mailfrom: ninette@thehoodiefirm.com) Received: by mail-ej1-f42.google.com with SMTP id a640c23a62f3a-a53ed18f34fso84923766b.0 for ; Mon, 15 Apr 2024 07:41:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thehoodiefirm-com.20230601.gappssmtp.com; s=20230601; t=1713192097; x=1713796897; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=5w7rrdMjZnZxXfl9ys3hy3iZkzIt2s2nT86yUgu8POQ=; b=XKzqWtrxMDbUm7mn65kmQeEL8WIFo2vKvPndQdnMqDvOkTZUduABc44pHVHH8iMH8R sKH7hzjmF8T5yBrJz6w8eXXsOnz1pco5d3LA2zfUMqmY6qxqcfwZFJwlvFbHfrRAP1T1 0d0eLxPM9ETStKxGl/lZ8QjAkOk9gDcEDsmsZ3J2QbNW9qUmPss7vp42xY+6rGhbDLWW /x5FoSs+/JMBOv7ui1Y32DfC8VRugT0gV5Lk0NIsjm/I+WaerwLH+IxCFlu//h4toZrg FnFlno88TwwwMpMv5mzZMnNeNkkE/lHGpNSZHmldLP3f36gtP91yGuVRUlxdGH8FZWdT eO7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713192097; x=1713796897; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=5w7rrdMjZnZxXfl9ys3hy3iZkzIt2s2nT86yUgu8POQ=; b=ErXBDxvpJ1y4mLF04AyQDCaiol9I6G0MgKS/xU3sriLH/cD9xVvqxwzV3kQVqwcpTN 5wlcvKGJ640eC/Ydgc0kQIhSEp9lBnPCkM/QdtgVwKB4paj7GF/GQq7ltPDfZPqj6A1Z 2qO68hncAIBtDnvH6qSdpLm6MYvpoj8bwE3NFcmSGYlxzp8/QUyAXj3gfXkLolWplaqa ZnRIVEP9Ur6Mevc1MUpplBDHrpExVw4NhTWNvG0P9Jro/sQRKpyV5kkJjqkghKUlQOxL zuF2UrwEDH55Tf/GCdCJ2M3ZlMZSFzbYQD40xjpmQEf9WT/Rk8IJ891NCg4Ypzj3bA05 rdtA== X-Gm-Message-State: AOJu0Yy8gep+vjpI0kXdjCdsGqVI/TWJLZd2/21n57Kp0mg+BHISIyq8 LDMVsVp2qDPKphOZVMt7MIMyF9B8AI0wx71IyKSOCRpqLmXZe1WNnQ/ZAHuXZJcwCky47RrjjOl W X-Google-Smtp-Source: AGHT+IHHCpf8bkAVWZfDBGeE0DHG+5mDJ9jT5X79DE58puSuVNwKGHzO/R8eoK8FBPTu9d3lfYk/cQ== X-Received: by 2002:a17:906:5a88:b0:a52:4fc1:ea98 with SMTP id l8-20020a1709065a8800b00a524fc1ea98mr4125452ejq.55.1713192096852; Mon, 15 Apr 2024 07:41:36 -0700 (PDT) Received: from localhost.localdomain ([62.72.77.226]) by smtp.gmail.com with ESMTPSA id bq3-20020a170906d0c300b00a522f867697sm4658749ejb.132.2024.04.15.07.41.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Apr 2024 07:41:36 -0700 (PDT) From: Ninette Adhikari To: openembedded-core@lists.openembedded.org Cc: Ninette Adhikari <13760198+ninetteadhikari@users.noreply.github.com>, Ninette Adhikari Subject: [PATCH 3/3] oe-build-perf-report: Improve report styling and add descriptions Date: Mon, 15 Apr 2024 16:41:29 +0200 Message-ID: <20240415144129.92641-4-ninette@thehoodiefirm.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240415144129.92641-1-ninette@thehoodiefirm.com> References: <20240415144129.92641-1-ninette@thehoodiefirm.com> Reply-To: engineering@neighbourhood.ie MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Mon, 15 Apr 2024 14:41:48 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/198242 From: Ninette Adhikari <13760198+ninetteadhikari@users.noreply.github.com> Styling updates are added including page margin, labels for x and y axis, tooltip, and section descriptions. Signed-off-by: Ninette Adhikari --- .../build_perf/html/measurement_chart.html | 28 +++--- scripts/lib/build_perf/html/report.html | 90 +++++++++++++------ 2 files changed, 78 insertions(+), 40 deletions(-) diff --git a/scripts/lib/build_perf/html/measurement_chart.html b/scripts/lib/build_perf/html/measurement_chart.html index ffec3d09db..9acb3785e2 100644 --- a/scripts/lib/build_perf/html/measurement_chart.html +++ b/scripts/lib/build_perf/html/measurement_chart.html @@ -13,8 +13,10 @@ // Convert raw data to the format: [time, value] const data = rawData.map(([commit, value, time]) => { return [ - new Date(time * 1000).getTime(), // The Date object takes values in milliseconds rather than seconds. So to use a Unix timestamp we have to multiply it by 1000. - Array.isArray(value) ? convertToMinute(value) : value // Assuming the array values are duration in the format [hours, minutes, seconds, milliseconds] + // The Date object takes values in milliseconds rather than seconds. So to use a Unix timestamp we have to multiply it by 1000. + new Date(time * 1000).getTime(), + // Assuming the array values are duration in the format [hours, minutes, seconds, milliseconds] + Array.isArray(value) ? convertToMinute(value) : value ] }); @@ -22,16 +24,18 @@ const option = { tooltip: { trigger: 'axis', - position: function (pt) { - return [pt[0], '10%']; - }, - valueFormatter: (value) => value.toFixed(2) + valueFormatter: (value) => { + const hours = Math.floor(value/60) + const minutes = Math.floor(value % 60) + const seconds = Math.floor((value * 60) % 60) + return hours + ':' + minutes + ':' + seconds + } }, xAxis: { type: 'time', }, yAxis: { - name: '{{ measurement.value_type.quantity }}' == 'time' ? 'Duration (minutes)' : 'Disk size (MB)', + name: '{{ measurement.value_type.quantity }}' == 'time' ? 'Duration in minutes' : 'Disk size in MB', type: 'value', min: function(value) { return Math.round(value.min - 0.5); @@ -42,14 +46,10 @@ }, dataZoom: [ { - type: 'inside', - start: 0, - end: 100 + type: 'slider', + xAxisIndex: 0, + filterMode: 'none' }, - { - start: 0, - end: 100 - } ], series: [ { diff --git a/scripts/lib/build_perf/html/report.html b/scripts/lib/build_perf/html/report.html index 653fd985bc..4cd240760a 100644 --- a/scripts/lib/build_perf/html/report.html +++ b/scripts/lib/build_perf/html/report.html @@ -24,23 +24,15 @@ text-align: left; border-collapse: collapse; } -.meta-table tr:nth-child(even){background-color: #f2f2f2} -meta-table th, .meta-table td { - padding: 4px; -} .summary { - margin: 0; font-size: 14px; text-align: left; border-collapse: collapse; } -summary th, .meta-table td { - padding: 4px; -} .measurement { padding: 8px 0px 8px 8px; border: 2px solid #f0f0f0; - margin-bottom: 10px; + margin: 1.5rem 0; } .details { margin: 0; @@ -60,18 +52,58 @@ summary th, .meta-table td { background-color: #f0f0f0; margin-left: 10px; } -hr { - color: #f0f0f0; +.card-container { + border-bottom-width: 1px; + padding: 1.25rem 3rem; + box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); + border-radius: 0.25rem; +} +body { + font-family: 'Helvetica', sans-serif; + margin: 3rem 8rem; +} +h1 { + text-align: center; } h2 { - font-size: 20px; + font-size: 1.5rem; margin-bottom: 0px; color: #707070; + padding-top: 1.5rem; } h3 { - font-size: 16px; + font-size: 1.3rem; margin: 0px; color: #707070; + padding: 1.5rem 0; +} +h4 { + font-size: 14px; + font-weight: lighter; + line-height: 1.2rem; + margin: auto; + padding-top: 1rem; +} +table { + margin-top: 1.5rem; + line-height: 2rem; +} +tr { + border-bottom: 1px solid #e5e7eb; +} +tr:first-child { + border-bottom: 1px solid #9ca3af; +} +tr:last-child { + border-bottom: none; +} +a { + text-decoration: none; + font-weight: bold; + color: #0000EE; +} +a:hover { + color: #8080ff; } @@ -79,13 +111,14 @@ h3 { {% macro poky_link(commit) -%} - {{ commit[0:11] }} + {{ commit[0:11] }} {%- endmacro %} -
+
+

Performance Test Report

{# Test metadata #}

General

-
+

The table provides an overview of the comparison between two selected commits from the same branch.

@@ -108,19 +141,21 @@ h3 { {# Test result summary #}

Test result summary

-
+

The test summary presents a thorough breakdown of each test conducted on the branch, including details such as build time and disk space consumption. Additionally, it gives insights into the average time taken for test execution, along with absolute and relative values for a better understanding.

+ + + + + + + {% for test in test_data %} - {% if loop.index is even %} - {% set row_style = 'style="background-color: #f2f2f2"' %} - {% else %} - {% set row_style = 'style="background-color: #ffffff"' %} - {% endif %} {% if test.status == 'SUCCESS' %} {% for measurement in test.measurements %} {% if loop.index == 1 %} - + {% else %} {# add empty cell in place of the test name#} @@ -149,10 +184,12 @@ h3 {
Test nameMeasurement descriptionMean valueAbsolute differenceRelative difference
{{ test.name }}: {{ test.description }}{{ test.name }}: {{ test.description }}
{# Detailed test results #} +

Test details

+

The following section provides details of each test, accompanied by charts representing build time and disk usage over time or by commit number.

{% for test in test_data %} -

{{ test.name }}: {{ test.description }}

-
+

{{ test.name }}: {{ test.description }}

{% if test.status == 'SUCCESS' %} +
{% for measurement in test.measurements %}

{{ measurement.description }}

@@ -271,7 +308,8 @@ h3 { {% endif %} {% endif %}
- {% endfor %} + {% endfor %} +
{# Unsuccessful test #} {% else %} {{ test.status }}