9bc96f79af
Remove trailing slash in internal measurements
2023-10-22 01:50:19 +02:00
2bf939186d
Remove stddev and direction columns
2023-10-22 01:50:19 +02:00
2d255f2e06
Fix runner counting files as directories
2023-08-17 19:37:30 +02:00
fa9cf9d1c5
Avoid excessive amount of data in large repos
2023-08-17 19:37:30 +02:00
b59b4f8463
Mention server in worker log messages
2023-08-17 17:30:48 +02:00
3af90a8edf
Make error message more useful
2023-08-17 17:28:48 +02:00
99b6a0d4a5
Restructure internal measurements
2023-08-17 17:16:34 +02:00
f12da915a9
Switch from tracing to log crate
2023-08-17 03:09:24 +02:00
a54e842478
Restructure config file
2023-08-17 00:28:58 +02:00
6050415fce
Fix warnings
2023-08-16 02:57:32 +02:00
470449f36e
Stop logging in internal runner
2023-08-16 01:20:59 +02:00
d32e30eb77
Fix internal runner crash on binary files
2023-08-16 01:20:41 +02:00
3cf444ffc2
Remove todos
2023-08-14 17:51:48 +02:00
1ec72c92d5
Allow worker to specify bench method as string
2023-08-14 16:47:00 +02:00
01124d719b
Add optional run end time override
2023-08-14 14:15:38 +02:00
6b8ae19ba5
Use advance() instead of split_to()
2023-08-14 14:01:34 +02:00
36f275c290
Use / as separator character instead of .
2023-08-13 23:02:18 +02:00
2fee0a618c
Count file stats by dir
2023-08-13 23:02:18 +02:00
55ea5af779
Count file stats ordered by file name
2023-08-13 22:59:45 +02:00
058ed2e85c
Move typed paths to separate module
2023-08-13 19:30:52 +02:00
3d5a277234
Use typed paths in worker
2023-08-13 16:13:59 +02:00
08e240d7db
Fix and add documentation
2023-08-13 01:16:12 +02:00
0bad08eca9
Perform runs with internal bench logic
2023-08-12 21:40:14 +02:00
0196709a64
Make RunInProgress fields private
2023-08-12 21:23:36 +02:00
b7c0443005
Ask servers for runs and perform them
2023-08-12 21:23:36 +02:00
eaca373a6a
Prevent status update race condition
2023-08-12 21:23:36 +02:00
e644f2be65
Send actual runner status to server
2023-08-12 21:23:36 +02:00
c7a89867a7
Restructure shared types and db columns
...
Now, the server sends the runner pretty much all run metadata. This way,
the reservation the server makes for the runner is accurate, providing
the runner responds with the same metadata it was sent. It also means
that only the server's system clock is relevant for tie breakers, and a
run's duration spans from the moment it is reserved to the moment it is
saved.
Also, the bench method is now always called `bench_method` and a
human-readable description is stored in the database for each run.
2023-08-12 21:23:36 +02:00
53be0338f2
Launch idle thread for each server
2023-08-12 21:23:36 +02:00
4f63b02509
Fix and simplify tar downloads
2023-08-12 19:19:43 +02:00
81328fcf04
Start reimplementing worker
2023-08-12 19:19:43 +02:00
416e3e6aa1
Implement internal runner
2023-08-12 14:21:48 +02:00
d15d6588f7
Improve and fix runner API
...
- The server now also signals abort_work if the commit is no longer in
the queue.
- The server now immediately reserves the work it gives to the worker,
so other idle workers won't get the same work.
- The server now chooses a run id, not the worker. The worker can still
submit work under arbitrary run ids when no id is known, for example
when importing runs from another database.
2023-08-12 13:19:16 +02:00
9fc7c22ae8
Dispatch based on bench method
2023-08-12 02:26:15 +02:00
b23fc6460f
Start runs and coordinate with server
2023-08-12 02:16:05 +02:00
cc87171f62
Download and unpack tars
2023-08-12 02:16:05 +02:00
6f4793bcf2
Rename runners to workers
2023-08-11 02:12:38 +02:00