PrimeView
This is a Blazor WebAssembly static in-browser web application to view benchmark reports generated in/for the Primes project.
At the moment, the application loads benchmark reports in JSON format from the data directory on the webserver. It starts with loading report1.json, then loads report2.json, and so on, until it receives an HTTP error on the request for a report<number>.json file.
The supported JSON format is the one generated by the benchmark tool in the Primes repository, when the FORMATTER=json variable is used, with one optional extension: in the metadata object, a string "user" property can be added to indicate the user who generated the report.
As the report reader back-end is isolated from the front-end (and added via dependency injection), it will be easy to replace it with a client for a (REST) API that publishes benchmark reports, once that's available.
Building
The solution can be built by running the following command from the repository root directory, once .NET 5.0 is installed:
dotnet publish
At the end of the build process, the location of the build output will be indicated in the following line:
Frontend -> <repo root>\src\Frontend\bin\Debug\net5.0\publish\
Implementation notes
Where applicable, implementation notes can be found in README.md files in the directories for the respective C#/Blazor projects.
Attribution
- The source code that gets and sets query string parameters is based on a blog post by Gérald Barré.
- Local storage is implemented using Blazored LocalStorage.
- The tables of report summaries and report results are implemented using BlazorTable.
- The checkered flag in favicon.ico was made by Freepik from www.flaticon.com.