Skip to content

BenchStore is an ASP.NET Core MVC application used for storing results from BenchExec

License

Notifications You must be signed in to change notification settings

staticafi/BenchStore

Repository files navigation

BenchStore

About

BenchStore is an ASP.NET Core MVC application used for storing results from BenchExec. BenchStore uses PostgreSQL as its database.

BenchStore is available on GitLab and GitHub.

The GitHub repository is a mirror of the GitLab repository.

Getting Started

Requirements

Download

The latest BenchStore build can be downloaded via releases.

The top level folder contains the appsettings.json configuration file.

Appsettings

  "TableGenerator": {
    "PythonPath": null,
    "TableGeneratorPath": null
  },
  "Storage": {
    "ResultStoragePath": null
  }

Set TableGenerator__PythonPath to the path of the Python executable.

Set TableGenerator__TableGeneratorPath to the path of the table-generator executable.

Set Storage__ResultStoragePath to the path where you want the result files to get stored.

Connection string

To set the connection string for the PostgreSQL database, you can edit the appsettings.json's ConnectionStrings__BenchStoreContext.

  "ConnectionStrings": {
    "BenchStoreContext": "Host=; Database=; Username=; Password="
  }

The format of the connection string is: "Host=<hostname>; Database=<database-name>; Username=<username>; Password=<password>"

Alternatively, set the environment variable CUSTOMCONNSTR_BenchStoreContext to the PostgreSQL connection string.

Powershell:

$env:CUSTOMCONNSTR_BenchStoreContext="Host=<hostname>; Database=<database-name>; Username=<username>; Password=<password>"

Bash

CUSTOMCONNSTR_BenchStoreContext="Host=<hostname>; Database=<database-name>; Username=<username>; Password=<password>"

Quickstart

On Windows, you can execute the BenchStoreMVC.exe file.

Alternatively, run:

dotnet BenchStoreMVC.dll

Development

For a development version of BenchStore, you can download the project files.

The BenchStoreMVC project contains the appsettings.json file with the needed configuration. Alternatively, you can create your own appsettings.Development.json configuration file which is ignored by Git and overwrites the settings from the appsettings.json file.

From the root level of the repository run:

dotnet run --project ./BenchStoreMVC/

Alternatively, in the ./BenchStoreMVC directory run:

dotnet run

Visual Studio

A development version of BenchStore can be started with Visual Studio on Windows.

The Visual Studio project is started with the BenchStore.sln file.

Set the Startup project to the BenchStoreMVC project and run the application.

License

BenchStore is licensed under the Apache 2.0 License.