Add execution time to pkg/cmd runs

This commit is contained in:
Tim Hockin 2023-02-18 13:13:36 -08:00
parent f95f3c24f7
commit 026c6814c8
1 changed files with 4 additions and 1 deletions

View File

@ -22,6 +22,7 @@ import (
"fmt" "fmt"
"os/exec" "os/exec"
"strings" "strings"
"time"
"github.com/go-logr/logr" "github.com/go-logr/logr"
) )
@ -73,7 +74,9 @@ func runWithStdin(ctx context.Context, log logintf, cwd string, env []string, st
cmd.Stderr = errbuf cmd.Stderr = errbuf
cmd.Stdin = bytes.NewBufferString(stdin) cmd.Stdin = bytes.NewBufferString(stdin)
start := time.Now()
err := cmd.Run() err := cmd.Run()
wallTime := time.Since(start)
stdout := strings.TrimSpace(outbuf.String()) stdout := strings.TrimSpace(outbuf.String())
stderr := strings.TrimSpace(errbuf.String()) stderr := strings.TrimSpace(errbuf.String())
if ctx.Err() == context.DeadlineExceeded { if ctx.Err() == context.DeadlineExceeded {
@ -82,7 +85,7 @@ func runWithStdin(ctx context.Context, log logintf, cwd string, env []string, st
if err != nil { if err != nil {
return "", fmt.Errorf("Run(%s): %w: { stdout: %q, stderr: %q }", cmdStr, err, stdout, stderr) return "", fmt.Errorf("Run(%s): %w: { stdout: %q, stderr: %q }", cmdStr, err, stdout, stderr)
} }
log.V(6).Info("command result", "stdout", stdout, "stderr", stderr) log.V(6).Info("command result", "stdout", stdout, "stderr", stderr, "time", wallTime)
return stdout, nil return stdout, nil
} }