Skip to content

Commit 1183fd3

Browse files
committed
Update database schema
1 parent 80d4620 commit 1183fd3

File tree

1 file changed

+7
-15
lines changed

1 file changed

+7
-15
lines changed

database/schema.md

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -238,17 +238,9 @@ Columns:
238238
* **job_id** (`INTEGER`): A nullable job_id which, if it exists it will inform
239239
us as to which job this error is part of.
240240

241-
## New benchmarking design
242-
We are currently implementing a new design for dispatching benchmarks to collector(s) and storing
243-
them in the database. It will support new use-cases, like backfilling of new benchmarks into a parent
244-
commit and primarily benchmarking with multiple collectors (and multiple hardware architectures) in
245-
parallel.
246-
247-
The tables below are a part of the new scheme.
248-
249241
### benchmark_request
250242

251-
Represents a single request for performing a benchmark collection. Each request can be one of three types:
243+
Represents a single request for performing a benchmark run. Each request can be one of three types:
252244

253245
* Master: benchmark a merged master commit
254246
* Release: benchmark a published stable or beta compiler toolchain
@@ -297,15 +289,13 @@ Columns:
297289

298290
### job_queue
299291

300-
This table stores ephemeral benchmark jobs, which specifically tell the
301-
collector which benchmarks it should execute. The jobs will be kept in the
302-
table for ~30 days after being completed, so that we can quickly figure out
303-
what master parent jobs we need to backfill when handling try builds.
292+
This table stores benchmark jobs, which specifically tell the
293+
collector which benchmarks it should execute.
304294

305295
Columns:
306296

307-
* **id** (`bigint` / `serial`): Primary*key identifier for the job row;
308-
auto*increments with each new job.
297+
* **id** (`bigint` / `serial`): Primary key identifier for the job row;
298+
autoincrements with each new job.
309299
* **request_tag** (`text`): References the parent benchmark request that
310300
spawned this job.
311301
* **target** (`text NOT NULL`): Hardware/ISA the benchmarks must run on
@@ -325,3 +315,5 @@ Columns:
325315
`success`, or `failure`.
326316
* **retry** (`int NOT NULL`): Number of times the job has been re*queued after
327317
a failure; 0 on the first attempt.
318+
* **kind** (`text NOT NULL`): What benchmark suite should be executed in the job (`compiletime`, `runtime` or `rustc`).
319+
* **is_optional** (`boolean NOT NULL`): Whether a request should wait for this job to finish before it will become completed.

0 commit comments

Comments
 (0)