diff --git a/cache/filecache/filecache.go b/cache/filecache/filecache.go index 3104d8ac6..63d939ef6 100644 --- a/cache/filecache/filecache.go +++ b/cache/filecache/filecache.go @@ -24,7 +24,6 @@ import ( "sync" "time" - "github.com/gohugoio/hugo/common/htime" "github.com/gohugoio/hugo/common/hugio" "github.com/gohugoio/hugo/helpers" @@ -296,7 +295,10 @@ func (c *Cache) isExpired(modTime time.Time) bool { if c.maxAge < 0 { return false } - return c.maxAge == 0 || htime.Since(modTime) > c.maxAge + + // Note the use of time.Since here. + // We cannot use Hugo's global Clock for this. + return c.maxAge == 0 || time.Since(modTime) > c.maxAge } // For testing diff --git a/commands/commands.go b/commands/commands.go index d55a4e9aa..aee6a7284 100644 --- a/commands/commands.go +++ b/commands/commands.go @@ -18,7 +18,6 @@ import ( "os" "time" - "github.com/gohugoio/hugo/common/htime" "github.com/gohugoio/hugo/common/hugo" "github.com/gohugoio/hugo/common/loggers" hpaths "github.com/gohugoio/hugo/common/paths" @@ -152,7 +151,7 @@ built with love by spf13 and friends in Go. Complete documentation is available at https://gohugo.io/.`, RunE: func(cmd *cobra.Command, args []string) error { - defer cc.timeTrack(htime.Now(), "Total") + defer cc.timeTrack(time.Now(), "Total") cfgInit := func(c *commandeer) error { if cc.buildWatch { c.Set("disableLiveReload", true) @@ -238,7 +237,7 @@ func (cc *hugoBuilderCommon) timeTrack(start time.Time, name string) { if cc.quiet { return } - elapsed := htime.Since(start) + elapsed := time.Since(start) fmt.Printf("%s in %v ms\n", name, int(1000*elapsed.Seconds())) } diff --git a/commands/hugo.go b/commands/hugo.go index 43ec7e5c7..c13fdce06 100644 --- a/commands/hugo.go +++ b/commands/hugo.go @@ -681,7 +681,11 @@ func (c *commandeer) firstPathSpec() *helpers.PathSpec { } func (c *commandeer) timeTrack(start time.Time, name string) { - elapsed := htime.Since(start) + // Note the use of time.Since here and time.Now in the callers. + // We have a htime.Sinnce, but that may be adjusted to the future, + // and that does not make sense here, esp. when used before the + // global Clock is initialized. + elapsed := time.Since(start) c.logger.Printf("%s in %v ms", name, int(1000*elapsed.Seconds())) } @@ -792,7 +796,7 @@ func (c *commandeer) fullRebuild(changeType string) { time.Sleep(2 * time.Second) }() - defer c.timeTrack(htime.Now(), "Rebuilt") + defer c.timeTrack(time.Now(), "Rebuilt") c.commandeerHugoState = newCommandeerHugoState() err := c.loadConfig() @@ -1137,7 +1141,7 @@ func (c *commandeer) handleEvents(watcher *watcher.Batcher, c.changeDetector.PrepareNew() func() { - defer c.timeTrack(htime.Now(), "Total") + defer c.timeTrack(time.Now(), "Total") if err := c.rebuildSites(dynamicEvents); err != nil { c.handleBuildErr(err, "Rebuild failed") } diff --git a/commands/server.go b/commands/server.go index 5fdde21c5..27b12cb32 100644 --- a/commands/server.go +++ b/commands/server.go @@ -251,7 +251,7 @@ func (sc *serverCmd) server(cmd *cobra.Command, args []string) error { } err = func() error { - defer c.timeTrack(htime.Now(), "Built") + defer c.timeTrack(time.Now(), "Built") err := c.serverBuild() if err != nil { cmd.PrintErrln("Error:", err.Error()) diff --git a/common/loggers/loggers.go b/common/loggers/loggers.go index 6b73c9f32..14c76ae45 100644 --- a/common/loggers/loggers.go +++ b/common/loggers/loggers.go @@ -24,7 +24,6 @@ import ( "runtime" "time" - "github.com/gohugoio/hugo/common/htime" "github.com/gohugoio/hugo/common/terminal" jww "github.com/spf13/jwalterweatherman" @@ -177,7 +176,7 @@ func (l *logger) Out() io.Writer { // PrintTimerIfDelayed prints a time statement to the FEEDBACK logger // if considerable time is spent. func (l *logger) PrintTimerIfDelayed(start time.Time, name string) { - elapsed := htime.Since(start) + elapsed := time.Since(start) milli := int(1000 * elapsed.Seconds()) if milli < 500 { return @@ -186,7 +185,7 @@ func (l *logger) PrintTimerIfDelayed(start time.Time, name string) { } func (l *logger) PrintTimer(start time.Time, name string) { - elapsed := htime.Since(start) + elapsed := time.Since(start) milli := int(1000 * elapsed.Seconds()) l.Printf("%s in %v ms", name, milli) } diff --git a/metrics/metrics.go b/metrics/metrics.go index 471f48a04..9c46fdf7e 100644 --- a/metrics/metrics.go +++ b/metrics/metrics.go @@ -25,7 +25,6 @@ import ( "sync" "time" - "github.com/gohugoio/hugo/common/htime" "github.com/gohugoio/hugo/common/types" "github.com/gohugoio/hugo/compare" "github.com/gohugoio/hugo/helpers" @@ -130,7 +129,7 @@ func (s *Store) TrackValue(key string, value any, cached bool) { // MeasureSince adds a measurement for key to the metric store. func (s *Store) MeasureSince(key string, start time.Time) { s.mu.Lock() - s.metrics[key] = append(s.metrics[key], htime.Since(start)) + s.metrics[key] = append(s.metrics[key], time.Since(start)) s.mu.Unlock() } diff --git a/modules/collect.go b/modules/collect.go index 4f5b1c36f..ff83f9ecc 100644 --- a/modules/collect.go +++ b/modules/collect.go @@ -23,7 +23,6 @@ import ( "time" "github.com/bep/debounce" - "github.com/gohugoio/hugo/common/htime" "github.com/gohugoio/hugo/common/loggers" "github.com/spf13/cast" @@ -506,7 +505,7 @@ func (c *collector) applyThemeConfig(tc *moduleAdapter) error { } func (c *collector) collect() { - defer c.logger.PrintTimerIfDelayed(htime.Now(), "hugo: collected modules") + defer c.logger.PrintTimerIfDelayed(time.Now(), "hugo: collected modules") d := debounce.New(2 * time.Second) d(func() { c.logger.Println("hugo: downloading modules …") diff --git a/tpl/partials/partials.go b/tpl/partials/partials.go index 9ded32a71..eb4ebfe32 100644 --- a/tpl/partials/partials.go +++ b/tpl/partials/partials.go @@ -25,8 +25,8 @@ import ( "reflect" "strings" "sync" + "time" - "github.com/gohugoio/hugo/common/htime" texttemplate "github.com/gohugoio/hugo/tpl/internal/go_templates/texttemplate" "github.com/gohugoio/hugo/helpers" @@ -222,7 +222,7 @@ func createKey(name string, variants ...any) (partialCacheKey, error) { var errUnHashable = errors.New("unhashable") func (ns *Namespace) getOrCreate(ctx context.Context, key partialCacheKey, context any) (result any, err error) { - start := htime.Now() + start := time.Now() defer func() { if r := recover(); r != nil { err = r.(error) diff --git a/tpl/tplimpl/template.go b/tpl/tplimpl/template.go index d352f02e8..c092ff638 100644 --- a/tpl/tplimpl/template.go +++ b/tpl/tplimpl/template.go @@ -27,10 +27,10 @@ import ( "sort" "strings" "sync" + "time" "unicode" "unicode/utf8" - "github.com/gohugoio/hugo/common/htime" "github.com/gohugoio/hugo/common/types" "github.com/gohugoio/hugo/helpers" @@ -235,7 +235,7 @@ func (t *templateExec) ExecuteWithContext(ctx context.Context, templ tpl.Templat defer rlocker.RUnlock() } if t.Metrics != nil { - defer t.Metrics.MeasureSince(templ.Name(), htime.Now()) + defer t.Metrics.MeasureSince(templ.Name(), time.Now()) } if t.templateUsageTracker != nil {