This is a Blazor WebAssembly static in-browser web application to view benchmark reports generated in/for the Primes project.
The application loads benchmark reports from an API that has been developed and published for the purpose. More information about the API reader can be found in RestAPIReader/README.md.
Previously, the application loaded benchmark reports in JSON format, either from a configured location or using a default approach. The report reader in question is still included; more information on how it works can be found in JsonFileReader/README.md.
As the report reader back-ends are isolated from the front-end (and added via dependency injection), it's easy to add and use another report provider.
The solution can be built by running the following commands from the repository root directory, once .NET 8.0 is installed:
dotnet workload install wasm-tools-net6
dotnet publish
Note that:
- the first command installs the tools required for AOT compilation. That command has to be executed only once for any system PrimeView is built on.
- the AOT compilation can take multiple minutes to complete.
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\Release\net8.0\publish\
Where applicable, implementation notes can be found in README.md files in the directories for the respective C#/Blazor projects.
- 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.