display elapse and memory usage at the end

This commit is contained in:
Celogeek 2023-04-29 23:58:26 +02:00
parent b71deb257a
commit 05ac50a453
Signed by: celogeek
SSH Key Fingerprint: SHA256:njNJLzoLQdbV9PC6ehcruRb0QnEgxABoCYZ+0+aUIYc
2 changed files with 16 additions and 1 deletions

View File

@ -16,6 +16,7 @@ import (
"reflect"
"runtime"
"strings"
"time"
"github.com/celogeek/go-comic-converter/v2/internal/converter/options"
)
@ -26,6 +27,7 @@ type Converter struct {
order []converterOrder
isZeroValueErrs []error
startAt time.Time
}
// Create a new parser
@ -36,6 +38,7 @@ func New() *Converter {
Options: options,
Cmd: cmd,
order: make([]converterOrder, 0),
startAt: time.Now(),
}
var cmdOutput strings.Builder
@ -299,3 +302,15 @@ func (c *Converter) Fatal(err error) {
fmt.Fprintf(os.Stderr, "\nError: %s\n", err)
os.Exit(1)
}
func (c *Converter) Stats() {
// Display elapse time and memory usage
var mem runtime.MemStats
runtime.ReadMemStats(&mem)
fmt.Fprintf(
os.Stderr,
"Completed in %s, Memory usage %d Mb\n",
time.Since(c.startAt).Round(time.Millisecond),
mem.Sys/1024/1024,
)
}

View File

@ -20,6 +20,7 @@ import (
func main() {
cmd := converter.New()
defer cmd.Stats()
if err := cmd.LoadConfig(); err != nil {
cmd.Fatal(err)
}
@ -139,5 +140,4 @@ $ go install github.com/celogeek/go-comic-converter/v%d@%s
os.Exit(1)
}
os.Exit(0)
}