From 28aa6895f654f1d2cc5b08913f55a7764094a16f Mon Sep 17 00:00:00 2001 From: Simon Let Date: Thu, 16 May 2019 21:36:03 +0200 Subject: [PATCH] fix time --- bashrc.sh | 7 ++----- collect/resh-collect.go | 33 +++++++++++++++++++++++++++------ common/resh-common.go | 5 +++-- 3 files changed, 32 insertions(+), 13 deletions(-) diff --git a/bashrc.sh b/bashrc.sh index 33855b3..873ef32 100644 --- a/bashrc.sh +++ b/bashrc.sh @@ -32,8 +32,7 @@ preexec() { __RESH_MACHTYPE="$MACHTYPE" # time - __RESH_TZ_BEFORE="$TZ" # posix - __RESH_SECS_UTC_BEFORE=$(date +%s -u) + __RESH_TZ_BEFORE=$(date +%:z) __RESH_RT_BEFORE="$EPOCHREALTIME" } @@ -41,7 +40,7 @@ precmd() { __RESH_EXIT_CODE=$? __RESH_RT_AFTER=$EPOCHREALTIME __RESH_SECS_UTC_AFTER=$(date +%s -u) - __RESH_TZ_AFTER="$TZ" + __RESH_TZ_AFTER=$(date +%:z) if [ ! -z ${__RESH_COLLECT+x} ]; then resh-collect -cmdLine "$__RESH_CMDLINE" -exitCode "$__RESH_EXIT_CODE" \ -cols "$__RESH_COLS" \ @@ -62,8 +61,6 @@ precmd() { -machtype "$__RESH_MACHTYPE" \ -realtimeBefore "$__RESH_RT_BEFORE" \ -realtimeAfter "$__RESH_RT_AFTER" \ - -secsUtcBefore "$__RESH_SECS_UTC_BEFORE" \ - -secsUtcAfter "$__RESH_SECS_UTC_AFTER" \ -realtimeSession "$__RESH_RT_SESSION" \ -realtimeSessSinceBoot "$__RESH_RT_SESS_SINCE_BOOT" \ -timezoneBefore "$__RESH_TZ_BEFORE" \ diff --git a/collect/resh-collect.go b/collect/resh-collect.go index ed964f0..9a1ea26 100644 --- a/collect/resh-collect.go +++ b/collect/resh-collect.go @@ -54,11 +54,9 @@ func main() { machtype := flag.String("machtype", "", "$MACHTYPE") // before after - timezoneBefore := flag.String("timezoneBefore", "", "before $TZ") - timezoneAfter := flag.String("timezoneAfter", "", "after $TZ") + timezoneBefore := flag.String("timezoneBefore", "", "") + timezoneAfter := flag.String("timezoneAfter", "", "") - secondsUtcBefore := flag.Int("secsUtcBefore", -1, "secs utc") - secondsUtcAfter := flag.Int("secsUtcAfter", -1, "secs utc") rtb := flag.String("realtimeBefore", "-1", "before $EPOCHREALTIME") rta := flag.String("realtimeAfter", "-1", "after $EPOCHREALTIME") rtsess := flag.String("realtimeSession", "-1", @@ -75,6 +73,12 @@ func main() { realtimeSinceSessionStart := realtimeBefore - realtimeSessionStart realtimeSinceBoot := realtimeSessSinceBoot + realtimeSinceSessionStart + timezoneBeforeOffset := getTimezoneOffsetInSeconds(*timezoneBefore) + timezoneAfterOffset := getTimezoneOffsetInSeconds(*timezoneAfter) + realtimeBeforeLocal := realtimeBefore + timezoneBeforeOffset + realtimeAfterLocal := realtimeAfter + timezoneAfterOffset + + if err != nil { log.Fatal("Flag Parsing error:", err) } @@ -115,8 +119,9 @@ func main() { RealtimeBefore: realtimeBefore, RealtimeAfter: realtimeAfter, - SecondsUtcBefore: *secondsUtcBefore, - SecondsUtcAfter: *secondsUtcAfter, + RealtimeBeforeLocal: realtimeBeforeLocal, + RealtimeAfterLocal: realtimeAfterLocal, + RealtimeDuration: realtimeDuration, RealtimeSinceSessionStart: realtimeSinceSessionStart, RealtimeSinceBoot: realtimeSinceBoot, @@ -169,3 +174,19 @@ func getGitDir() string { return strings.TrimSuffix(string(out), "\n") } +func getTimezoneOffsetInSeconds(zone string) float64 { + hours_mins := strings.Split(zone, ":") + hours, err := strconv.Atoi(hours_mins[0]) + if err != nil { + log.Println("err while parsing hours in timezone offset:", err) + return -1 + } + mins, err := strconv.Atoi(hours_mins[1]) + if err != nil { + log.Println("err while parsing mins in timezone offset:", err) + return -1 + } + secs := ( (hours * 60) + mins ) * 60 + return float64(secs) +} + diff --git a/common/resh-common.go b/common/resh-common.go index e56c66d..b22d1db 100644 --- a/common/resh-common.go +++ b/common/resh-common.go @@ -32,8 +32,9 @@ type Record struct { RealtimeBefore float64 `json:"realtimeBefore"` RealtimeAfter float64 `json:"realtimeAfter"` - SecondsUtcBefore int `json:"secondsUtcBefore"` - SecondsUtcAfter int `json:"secondsUtcAfter"` + RealtimeBeforeLocal float64 `json:"realtimeBeforeLocal"` + RealtimeAfterLocal float64 `json:"realtimeAfterLocal"` + RealtimeDuration float64 `json:"realtimeDuration"` RealtimeSinceSessionStart float64 `json:"realtimeSinceSessionStart"` RealtimeSinceBoot float64 `json:"realtimeSinceBoot"`