Skip to content

Commit d179309

Browse files
Add & Update READMEs.
1 parent 4a1009c commit d179309

File tree

3 files changed

+24
-29
lines changed

3 files changed

+24
-29
lines changed

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Rust Compiler Performance Monitoring & Benchmarking
2+
3+
This repository contains two primary crates: `collector` and `site`. Collector gathers data for each
4+
bors commit and the site displays the data.
5+
6+
The primary required setup is to provide a folder with a `retries` file and a `times` folder. Data
7+
is gathered into https://github.com/rust-lang-nursery/rustc-timing by Rust Infrastructure; cloning
8+
that is the best approach for working on the frontend.
9+
10+
Additional documentation on running and setting up the frontend and backend can be found in README
11+
files in the `collector` and `site` directories.
12+

collector/README.md

Lines changed: 12 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,42 +2,29 @@
22

33
Implements running benchmarks given a bors commit hash.
44

5-
## Setup
6-
7-
Utilizes native-tls crate through reqwest to allow running on most platforms. If running on Ubuntu,
8-
please install openssl (libssl-dev).
9-
10-
A file, `last-commit-sha`, should be in the current directory when running the script and it should
11-
contain a single line, containing the SHA1 of the bors merge commit in the rust-lang/rust repository
12-
from which to start running. The script will automatically update it as it completes each commit
13-
since it. If starting from scratch, 83c2d95238e3545e7ae9af4873c48b1e3651c164 may be a good option
14-
(see below, this is the first commit we support).
15-
165
## How to run
176

187
```
19-
RUST_LOG=info GH_API_TOKEN=<token> cargo run -- --benchmarks ./benchmarks process $RUSTC_TIMING
8+
# From repository root:
9+
cargo build -p collector --release
10+
./target/release/collector --benchmarks collector/benchmarks --output-repo $RUSTC_TIMING process
2011
```
2112

22-
GH_API_TOKEN should be a GitHub token, which is only used to reduce API rate limits, so should need
23-
extremely minimal rights (if any).
24-
25-
$RUSTC_TIMING should point to a clone of the `https://github.com/rust-lang-nursery/rustc-timing` repository, with push access.
13+
$RUSTC_TIMING should point to a clone of the `https://github.com/rust-lang-nursery/rustc-timing`
14+
repository. Optionally, `--sync-git` can be passed to make the collector sync with the remote repo
15+
before and after comitting.
2616

2717
## How it works
2818

2919
We download the artifacts (rustc, rust-std, cargo) produced by CI and properly unarchive them into
3020
the correct directories to allow cargo and rustc to function. Currently only
3121
x86_64-unknown-linux-gnu is supported, but the system should trivially expand to other platforms
32-
(e.g., Windows) should we want it, though generation and downloading of artifacts becomes necessary
33-
at that point.
22+
(e.g., Windows), though generation and downloading of artifacts becomes necessary at that point.
3423

35-
## Limitations
24+
`perf` is used to gather most of the data.
3625

37-
Will only work for commits that have builds on s3://rust-lang-ci/rustc-builds: these merged after #38748 (bors sha: 927c55d86b0be44337f37cf5b0a76fb8ba86e06c).
26+
## Limitations
3827

39-
Subpasses are currently ignored completely, since their naming differs between different runs. No
40-
serious investigation as to why this is has been conducted, so it is possible that they could be
41-
re-enabled after additional investigation and improvements. The differences in names between runs
42-
make the code which attempts to average passes across runs to (at least theoretically) produce more
43-
accurate data break, since it cannot find the same pass in all runs.
28+
Will only work for commits that have builds on s3://rust-lang-ci/rustc-builds: these merged after
29+
rust-lang/rust#38748 (bors sha: 927c55d86b0be44337f37cf5b0a76fb8ba86e06c). Additionally, try builds
30+
can also be tested, but the process is currently manual.

site/README.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,6 @@ which displays graphs to the user.
88
https://github.com/rust-lang-nursery/rustc-timing contains the raw data
99
from which rustc-perf pulls.
1010

11-
https://github.com/rust-lang-nursery/rustc-benchmarks runs elsewhere and
12-
performs the tests whose results rustc-perf displays, then pushes them
13-
to the timings repo.
14-
1511
Setup
1612
-----
1713

0 commit comments

Comments
 (0)