From cfd1541708302d80b1fc8125da20166a6e448d97 Mon Sep 17 00:00:00 2001 From: Christopher Young Date: Thu, 7 Jan 2016 11:54:38 -0500 Subject: [PATCH] Use monotonic clock for status print. #174. --- main/gen_gdl90.go | 2 +- main/monotonic.go | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/main/gen_gdl90.go b/main/gen_gdl90.go index 4db93d99c..0bfb80622 100644 --- a/main/gen_gdl90.go +++ b/main/gen_gdl90.go @@ -1113,7 +1113,7 @@ func printStats() { log.Printf(" - CPUTemp=%.02f deg C, MemStats.Alloc=%s, MemStats.Sys=%s, totalNetworkMessagesSent=%s\n", globalStatus.CPUTemp, humanize.Bytes(uint64(memstats.Alloc)), humanize.Bytes(uint64(memstats.Sys)), humanize.Comma(int64(totalNetworkMessagesSent))) log.Printf(" - UAT/min %s/%s [maxSS=%.02f%%], ES/min %s/%s\n, Total traffic targets tracked=%s", humanize.Comma(int64(globalStatus.UAT_messages_last_minute)), humanize.Comma(int64(globalStatus.UAT_messages_max)), float64(maxSignalStrength)/10.0, humanize.Comma(int64(globalStatus.ES_messages_last_minute)), humanize.Comma(int64(globalStatus.ES_messages_max)), humanize.Comma(int64(len(seenTraffic)))) if globalSettings.GPS_Enabled { - log.Printf(" - Last GPS fix: %s, GPS solution type: %d using %d satellites (%d/%d seen/tracked), NACp: %d, est accuracy %.02f m\n", humanize.Time(mySituation.LastFixLocalTime), mySituation.quality, mySituation.Satellites, mySituation.SatellitesSeen, mySituation.SatellitesTracked, mySituation.NACp, mySituation.Accuracy) + log.Printf(" - Last GPS fix: %s, GPS solution type: %d using %d satellites (%d/%d seen/tracked), NACp: %d, est accuracy %.02f m\n", stratuxClock.HumanizeTime(mySituation.LastFixLocalTime), mySituation.quality, mySituation.Satellites, mySituation.SatellitesSeen, mySituation.SatellitesTracked, mySituation.NACp, mySituation.Accuracy) log.Printf(" - GPS vertical velocity: %.02f ft/sec; GPS vertical accuracy: %v m\n", mySituation.GPSVertVel, mySituation.AccuracyVert) } } diff --git a/main/monotonic.go b/main/monotonic.go index ff2521ed1..d7a4393bb 100644 --- a/main/monotonic.go +++ b/main/monotonic.go @@ -1,6 +1,7 @@ package main import ( + humanize "github.com/dustin/go-humanize" "time" ) @@ -24,6 +25,10 @@ func (m *monotonic) Since(t time.Time) time.Duration { return m.Time.Sub(t) } +func (m *monotonic) HumanizeTime(t time.Time) string { + return humanize.RelTime(time.Time{}, t, "ago", "from now") +} + func NewMonotonic() *monotonic { t := &monotonic{Seconds: 0, Time: time.Time{}, ticker: time.NewTicker(1 * time.Second)} go t.Watcher()