-
Notifications
You must be signed in to change notification settings - Fork 323
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vue.js SPA displaying benchmark results - e.g. website 2.0 #10212
Comments
Priority is high because the results of Oracle GraalVM (Enterprise Edition) benchmarks, implemented on 2024-03-12 in #9322 are stored only as GH artifacts so far that are dropped after 3 months without any recovery or backup. The initial results are already dropped. Let's make sure they are stored permanently in engine-benchmark-results repo. |
Pavel Marek reports a new STANDUP for the provided date (2024-06-18): Progress: - Prototype of a new benchmark website in VueJS. It should be finished by 2024-07-11. |
Modifies the [Benchmarks Upload](https://github.com/enso-org/enso/actions/workflows/bench-upload.yml) job to also upload special `cache/index.json` file that maps filenames in the cache to their timestamps. This is necessary for #10212 but it is also good for an Enso workflow that analyses benchmarks from the locally cloned repo. (The workflow will soon be pushed to the https://github.com/enso-org/engine-benchmark-results repo) # Important Notes Moreover, the `Benchmarks Upload` job fails since yesterday (https://github.com/enso-org/enso/actions/runs/12269442294/job/34233007971), because there is an old workflow ID used for the engine benchmarks. To allow more convenient testing of the Action, I have added an ability to trigger this action manually in 857c086
Current solution (bad)
The current website with plots of all the benchmarks is a static website generated from a Jinja template by website_regen.py script hosted with GitHub pages on https://enso-org.github.io/engine-benchmark-results/.
This has many disadvantages:
Motivation
There are requests for new features in the current website:
develop
branch.It is easier to implement the current features along with the requested ones from scratch using VueJS than to add them to the current template solution.
VueJS proposal
Let's implement a single page application with VueJS and use some more responsive, sophisticated and better documented plotting library, like ChartJS. The data will be fetched from the cache directory in the same repo. We only need some
index.json
file that maps names of the files to their timestamps. There is no need for any sophisticated backend or a database yet. Just build static single page application with VueJS and host it on GitHub pages. Access to the cache directory in the same repo should be straightforward. The application won't be needed to regenerate on a daily basis, just when new features are added.A prototype is being developed in https://github.com/enso-org/engine-benchmark-results/tree/vue
Benchmark data upload
The data for the benchmarks are uploaded daily by the Benchmarks Upload GH Action into the directory https://github.com/enso-org/engine-benchmark-results/tree/main/cache as JSON files. Note that this task does not need any change to the data uploading functionality.
Related
There is a branch with working (to some extent) UI. Let's finish this and make the new UI visible. These are the minimal steps that have to be done:
Tasks
No need for any further automation right now. Being able to see latest benchmark results in the Vue.js SPA (preferably also from other than develop branch) is good enough starting point.
The text was updated successfully, but these errors were encountered: