From: Randy MacLeod <randy.macleod@windriver.com>
To: openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH 0/3] Improvements for performance test report view
Date: Tue, 16 Apr 2024 16:40:12 -0400 [thread overview]
Message-ID: <3c49ed4e-ba35-4d00-be27-8c937483a243@windriver.com> (raw)
In-Reply-To: <20240415144129.92641-1-ninette@thehoodiefirm.com>
[-- Attachment #1: Type: text/plain, Size: 6002 bytes --]
On 2024-04-15 10:41 a.m., Ninette Adhikari via lists.openembedded.org wrote:
> This work is done according to "Milestone 9: Build performance test report view" as stated in the Scope of Work with Sovereign Tech Fund (STF) (https://www.sovereigntechfund.de/).
> The current report can be accessed here:
> Performance test report HTML (https://autobuilder.yocto.io/pub/non-release/20240117-15/testresults/buildperf-alma8/perf-alma8_master_20240117090048_663f180574.html)
> The report is created using the `oe-build-perf-report` script in the poky repository. This script generates a performance test report in HTML format using the data from the yocto-buildstats (https://git.yoctoproject.org/yocto-buildstats/) repository.
> The report displays the performance test results in line chart format. The chart x-axis represents the commit numbers, and the y-axis represents the test duration in minutes.
> The report also includes a table that displays the measurement statistics data for each test. The report is interactive and allows users to zoom in on specific sections of the line chart.
>
> The current report format required some updates to make it more interactive and user-friendly. And this patch addresses such improvements:
>
> - Add Apache echart (https://echarts.apache.org/en/index.html) library to create oe build performance report charts and make them interactive.
> - Restructure data to time and value array format to be used by echarts. It also converts test duration to minutes and adds zoom to the line charts.
> - Update 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.
> - Add styling updates including page margin, labels for x and y axis, tooltip, and section descriptions.
>
> Updated report screenshots:
> https://github.com/neighbourhoodie/poky/assets/13760198/65a1890c-fd2a-40d4-ac90-f13055735e53
> https://github.com/neighbourhoodie/poky/assets/13760198/1ed43876-73a9-487e-aed3-ca0edf97514c
Thanks for the nice, dynamic UI web graphs!
Overall, I find them useful and well-designed.
Would it be possible to present the data in a more discrete manner since
the interpolated view presented now, while nice to look at, does not always
reflect the underlying data trend?
For example, if I have this data plotted as 1) stair-steps or 2) line
segments (I didn't take the time to do a spline fit),
I find that the line style for 1) is usually less misleading about what
we really know about the data.
1) stair-step
2) straight lines:
and I'd like to see this data:
plotted in the stair-step style.
From:
http://autobuilder.yocto.io/pub/non-release/20240413-19/testresults/buildperf-debian11/perf-debian11_master-next_20240413064005_7116cd908d.html
> For local setup, you can do the following:
>
> 1. Clone the yocto-buildstats (https://git.yoctoproject.org/yocto-buildstats/) and the poky repository (https://git.yoctoproject.org/poky/)
>
> 2. In the poky repository run the following to build the report HTML:
> ```bash
> ./scripts/oe-build-perf-report -r "LOCAL_PATH_TO_YOCTO_BUILDSTATS" --branch "master" --commit "663f1805742ff6fb6955719d0ab7846a425debcf" --branch2 "master" --html > test.html
> ```
> Note:
> - Add your local path to the yocto-buildstats repo
> - The above command builds the report in a file called `test.html`. You can access it in the root directory in poky.
> - This exmaple report uses the commit `663f1805742ff6fb6955719d0ab7846a425debcf` from `master` branch.
I tried that out:
❯ cd .../distro/yocto/yocto-bs-html
❯ ../poky.git/scripts/oe-build-perf-report -r
"/media/rmacleod/gitter/rmacleod/src/distro/yocto/yocto-bs-html/../yocto-buildstats.git"
--branch "master" --commit "663f1805742ff6fb6955719d0ab7846a425debcf"
--branch2 "master" --html > test.html
ERROR: No buildstats found, please try running 'git fetch origin
refs/notes/buildstats/perf-alma8/master/qemux86:refs/notes/buildstats/perf-alma8/master/qemux86'
to fetch them from the remote
so I did that. It was > 3 GB of data... !!
Receiving objects: 89% (10568/11747), 2.03 GiB | 3.28 MiB/s6 MiB/s
❯ du -sh .
3.2G .
Also, one shouldn't have to call bash just to run your script since you
shell
does that already if you have the right #!/path/to/foo and you have made
the script executable:
❯ file ../poky.git/scripts/oe-build-perf-report
../poky.git/scripts/oe-build-perf-report: Python script, ASCII text
executable
❯ head -1 ../poky.git/scripts/oe-build-perf-report
#!/usr/bin/env python3
Anyway, that did generate a test.html file in ~ 10 seconds for me on my
Pop!OS (Ubuntu-based) distro
and it rendered nicely in Firefox 124.0.1 (64-bit) so that's nice to see.
Thanks again,
../Randy
>
>
> Ninette Adhikari (3):
> oe-build-perf-report: Add apache echarts to make report interactive
> oe-build-perf-report: Display more than 300 commits and date instead
> of commit number
> oe-build-perf-report: Improve report styling and add descriptions
>
> .../build_perf/html/measurement_chart.html | 116 +++++++++++-------
> scripts/lib/build_perf/html/report.html | 96 ++++++++++-----
> scripts/lib/build_perf/report.py | 4 +-
> scripts/oe-build-perf-report | 6 +-
> 4 files changed, 143 insertions(+), 79 deletions(-)
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#198239):https://lists.openembedded.org/g/openembedded-core/message/198239
> Mute This Topic:https://lists.openembedded.org/mt/105537213/3616765
> Group Owner:openembedded-core+owner@lists.openembedded.org
> Unsubscribe:https://lists.openembedded.org/g/openembedded-core/unsub [randy.macleod@windriver.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
--
# Randy MacLeod
# Wind River Linux
[-- Attachment #2.1: Type: text/html, Size: 9421 bytes --]
[-- Attachment #2.2: C0NlrGL0XCzOLWe5.png --]
[-- Type: image/png, Size: 11077 bytes --]
[-- Attachment #2.3: PK30ZAoDLv3EqTSr.png --]
[-- Type: image/png, Size: 12782 bytes --]
[-- Attachment #2.4: YdeAn9rTv39nGigR.png --]
[-- Type: image/png, Size: 54532 bytes --]
prev parent reply other threads:[~2024-04-16 20:40 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-15 14:41 [PATCH 0/3] Improvements for performance test report view Ninette Adhikari
2024-04-15 14:41 ` [PATCH 1/3] oe-build-perf-report: Add apache echarts to make report interactive Ninette Adhikari
2024-04-16 16:39 ` [OE-core] " Ross Burton
2024-04-18 14:23 ` [PATCH v2] oe-build-perf-report: Update chart tooltip format Ninette Adhikari
2024-04-15 14:41 ` [PATCH 2/3] oe-build-perf-report: Display more than 300 commits and date instead of commit number Ninette Adhikari
2024-04-15 14:41 ` [PATCH 3/3] oe-build-perf-report: Improve report styling and add descriptions Ninette Adhikari
2024-04-15 14:52 ` Patchtest results for " patchtest
2024-04-16 14:49 ` [OE-core] [PATCH 0/3] Improvements for performance test report view Richard Purdie
2024-05-03 14:43 ` [PATCH v2 0/5] " Ninette Adhikari
2024-05-03 14:43 ` [PATCH v2 1/5] oe-build-perf-report: Add apache echarts to make report interactive Ninette Adhikari
2024-05-15 15:56 ` Richard Purdie
2024-05-15 16:00 ` [OE-core] " Ross Burton
2024-05-22 14:52 ` [PATCH 0/1] oe-build-perf-report: Update tooltip to include commit link Ninette Adhikari
2024-05-22 14:52 ` [PATCH 1/1] oe-build-perf-report: Add commit hash link to chart tooltip" Ninette Adhikari
2024-05-22 15:03 ` Patchtest results for " patchtest
2024-05-24 16:01 ` Richard Purdie
2024-05-22 15:16 ` [PATCH v2 1/5] oe-build-perf-report: Add apache echarts to make report interactive Ninette Adhikari
2024-05-24 16:02 ` Richard Purdie
2024-05-03 14:43 ` [PATCH v2 2/5] oe-build-perf-report: Display more than 300 commits and date instead of commit number Ninette Adhikari
2024-05-03 14:43 ` [PATCH v2 3/5] oe-build-perf-report: Improve report styling and add descriptions Ninette Adhikari
2024-05-03 14:43 ` [PATCH v2 4/5] oe-build-perf-report: Update chart tooltip and chart type Ninette Adhikari
2024-05-03 14:43 ` [PATCH v2 5/5] oe-build-perf-report: Add dark mode Ninette Adhikari
2024-05-03 17:22 ` [PATCH v2 0/5] Improvements for performance test report view Randy MacLeod
[not found] ` <17CC0A5CB7913FF6.8557@lists.openembedded.org>
2024-05-03 18:10 ` [OE-core] " Randy MacLeod
2024-05-07 14:17 ` Ninette Adhikari
2024-05-08 15:53 ` Randy MacLeod
2024-05-13 14:28 ` Ninette Adhikari
2024-05-15 12:27 ` Ross Burton
2024-04-16 20:40 ` Randy MacLeod [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3c49ed4e-ba35-4d00-be27-8c937483a243@windriver.com \
--to=randy.macleod@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox