Improve gdk doctor
What does this Merge Request do and why?
This MR improves the speed (~30% faster!) and reliability of the gdk doctor
command by:
- Buffering diagnostic output during execution and only rendering once the entire diagnostic has finished.
- Improved error handling for each diagnostic.
- Creates temporary diff files under
tmp/
. Ideally we don't create any temporary files, but that'll be fixed in !2104 (merged).
Before
$ time gdk doctor
.............
✅️ GDK is healthy.
gdk doctor 49.33s user 73.95s system 440% cpu 27.996 total
After
$ time gdk doctor
.............
✅️ GDK is healthy.
gdk doctor 21.34s user 16.95s system 198% cpu 19.285 total
Merge Request checklist
-
This change is backward compatible. If not, please include steps to communicate to our users. -
Tests added for new functionality. If not, please raise Issue to follow-up. -
Documentation added/updated, if needed. -
gdk doctor
test added, if needed. -
Add the ~highlight
label if this MR should be included in theCHANGELOG.md
.
Edited by Ash McKenzie