On 5. Jul 2019, at 23:41, Ludovic Courtès <l...@gnu.org> wrote: > Robert Vollmert <r...@vllmrt.net> skribis: > >>> On 1. Jul 2019, at 12:28, Ludovic Courtès <l...@gnu.org> wrote: >>> >>> Hello, >>> >>> Robert Vollmert <r...@vllmrt.net> skribis: >>> >>>> I’d like to improve the debug output here more generally: At (high enough) >>>> debug level, it seems to make sense to log every operation. What I’m >>>> unclear >>>> on here is whether it’s better to do that client or server side, what do >>>> you >>>> think? The spots would be >>>> >>>> (a) nix/nix-daemon/nix-daemon.cc:performOp (inside each start/stopWork >>>> pair) >>>> (b) guix/store.scm:operation (next to record-operation) >>>> >>>> I have a slight preference for (b) since it avoids the sending data back >>>> and forth. >>> >>> In my experience I rarely need to log every operation (e.g., every RPC), >>> and when I do, I add a well-placed ‘pk’. :-) >> >> That’s hardly something you’d expect a guix system user to do that’s trying >> to understand why guix pull is taking forever though, is it? > > No, but I don’t expect users to profile Guix anyway. > > I didn’t understand your request had to do with ‘guix pull’. It “takes > forever” for two reasons:
I think I didn’t really get my point across. I didn’t mean to ask about why ‘guix pull’ is slow (though I am interested, and am thankful for the explanation). 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. To that extent, I’d like to improve the output of debug level guix pull logging. If you’d really not like adding more debug statements, I’d suggest kicking out the existing locking statements from guix daemon. Cheers Robert