Add elapsed time on debug for slow git commands (#25642)

To record which command is slow, this PR adds a debug log for slow git
operations.

---------

Co-authored-by: Lauris BH <[email protected]>
Co-authored-by: delvh <[email protected]>
This commit is contained in:
Lunny Xiao
2023-07-04 16:22:37 +00:00
committed by GitHub
co-authored by GitHub Lauris BH delvh
parent 934124c641
commit f35ea2b09a
+9 -1
View File
@@ -301,6 +301,8 @@ func (c *Command) Run(opts *RunOpts) error {
}
defer finished()
startTime := time.Now()
cmd := exec.CommandContext(ctx, c.prog, c.args...)
if opts.Env == nil {
cmd.Env = os.Environ()
@@ -327,7 +329,13 @@ func (c *Command) Run(opts *RunOpts) error {
}
}
if err := cmd.Wait(); err != nil && ctx.Err() != context.DeadlineExceeded {
err := cmd.Wait()
elapsed := time.Since(startTime)
if elapsed > time.Second {
log.Debug("slow git.Command.Run: %s (%s)", c, elapsed)
}
if err != nil && ctx.Err() != context.DeadlineExceeded {
return err
}