Hello, Robert Vollmert <r...@vllmrt.net> skribis:
> Instead, I’d like to improve on my experience, which I’m sure others would run > into: > > - working with guix, doing some calls to guix pull, guix system reconfigure. > - notice that it takes quite a while, and often hangs for extended periods of > time without clear indication what it’s doing, whether it’s even doing > anything > - look through the manuals to find out how to get more useful output to answer > those questions, learn about “debug” and “verbose” command line options. > - through trial and error, learn that “verbose” doesn’t seem to be helpful, > but > “debug” does add some output > - but that output is mostly just pages and pages of identical > locking/unlocking > the store lines > > In my opinion, the debug output, if available, should help to answer the > original > questions. And certainly not prompt more questions, such as “is this just > spinning > on a lock?” which have an easy answer. OK, I see. Fundamentally, we should treat “guix takes a while without printing anything” as a bug. I think the UI should always show a progress bar, or a spinner, or at the very least a message indicating that some time-consuming action is taking place. For example, I know that an initial ‘guix pull’ takes a long time without printing anything: that’s because it’s cloning the repo, and we don’t have Guile-Git hooks to report on the progress of that operation. That’s clearly something to fix in the UI. Is this specifically the slowness you were looking at? ‘guix system’ tends to take a bit too long to just compute the system derivation; we should probably optimize the whole thing, but also consider adding some sort of progress report. These are two examples of slowness where getting debugging output from the daemon does not help at all understand what’s going on. > To that extent, I’d like to improve the output of debug level guix pull > logging. So, I think what I’m saying is that I’d rather improve progress reporting in the UI, than add debugging statement. Logging and progress report are actually almost the same thing, except that progress report is meant for normal human beings. :-) Ludo’.