mbox series

[0/3] Improvements for performance test report view

Message ID 20240412153301.87391-1-ninette@thehoodiefirm.com (mailing list archive)
Headers show
Series Improvements for performance test report view | expand

Message

Ninette Adhikari April 12, 2024, 3:32 p.m. UTC
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

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.


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(-)

Comments

Alexander Kanavin April 15, 2024, 10 a.m. UTC | #1
Thanks for the patchset, but it should be going to the openembedded-core list.

Alex

On Fri, 12 Apr 2024 at 17:33, Ninette Adhikari
<ninette@thehoodiefirm.com> 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
>
> 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.
>
>
> 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(-)
>
> --
> 2.44.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#13320): https://lists.yoctoproject.org/g/poky/message/13320
> Mute This Topic: https://lists.yoctoproject.org/mt/105484739/1686489
> Group Owner: poky+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/poky/unsub [alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Ninette Adhikari April 15, 2024, 10:40 a.m. UTC | #2
Hi Alex,

I had the impression that I would have to send poky related patches to the
poky mailing list. So sorry for blasting everyone unnecessarily! I will
send the patches to the openembedded-core list.
Thanks for your response.

Ninette


On Mon, Apr 15, 2024 at 12:00 PM Alexander Kanavin <alex.kanavin@gmail.com>
wrote:

> Thanks for the patchset, but it should be going to the openembedded-core
> list.
>
> Alex
>
> On Fri, 12 Apr 2024 at 17:33, Ninette Adhikari
> <ninette@thehoodiefirm.com> 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
> >
> > 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.
> >
> >
> > 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(-)
> >
> > --
> > 2.44.0
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#13320):
> https://lists.yoctoproject.org/g/poky/message/13320
> > Mute This Topic: https://lists.yoctoproject.org/mt/105484739/1686489
> > Group Owner: poky+owner@lists.yoctoproject.org
> > Unsubscribe: https://lists.yoctoproject.org/g/poky/unsub [
> alex.kanavin@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
>
Alexander Kanavin April 15, 2024, 10:46 a.m. UTC | #3
On Mon, 15 Apr 2024 at 12:40, Ninette Adhikari <ninette@neighbourhood.ie> wrote:
> I had the impression that I would have to send poky related patches to the poky mailing list. So sorry for blasting everyone unnecessarily! I will send the patches to the openembedded-core list.
> Thanks for your response.

No need to be sorry, beginner's mistake. You should have a README.md
in the top level poky/ directory that explains which patches should be
going where (and why is it that way).

Alex