Benchmarking Dotty
bin/master
: for benchmarking the masterbin/run
: for manually benchmarking a specific periodbin/pull
: for testing a specific pull requestCheck the documentation in the source code of each command for more detail.
Update the profiles in the project. For example, for Dotty:
bench/profiles/default.yml
bench/profiles/ci.yml
Put regression jobs as scripts under jobs/
.
bin/gauge 6514 49f254a
The command bin/gauge
accepts the following options:
-o File
: output file for test data, defaults to FILE
in bin/config
-p PLAN
: the test plan to execute, defaults to PLAN
in bin/config
To only measure a specific test target, just create a test plan for that test.
The command bin/run
allows schedule history benchmarks for a designated test target.
It accepts the following options:
-p PLAN
: the test plan to execute-f PR
: from which PR (excluded)-t PR
: to which PR (excluded)-s STEP
: execute test plan every n pull requests, defaults to 0-o FILE
: output file for test data, defaults to FILE
in bin/config
The command only schedules the tasks under the directory jobs/
, which will be executed
by the scheduler.
cp profiles/default.plan profiles/scalapb.plan
# edit profiles/scalapb.plan to only keep the test relevant for debug
# run test with a PR and commit hash -- PR can be a random number
bin/gauge -p profiles/scalapb.plan -o test.csv 6179 54fb992
Current kernel: 4.4.0-78-generic #99-Ubuntu
# edit file /etc/apt/apt.conf.d/10periodic
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
git clone git@github.com:lampepfl/dotty.git
bin/config
ghi config --auth
, make sure it works from command linegit
can push to current projectbin/cron
site
for displaying the charts
Cache-Control: no-cache
(see #1193)publish_site
in bin/common
data
for storing test data, make sure git push origin master:master
works for the repo.dotty
folder, run git remote add staging https://github.com/dotty-staging/dotty.git
ln -s dotty/bench/profiles profiles
bin/cpu
oncebin/poll
and bin/queue
as long-running service