diff options
author | Ilya Mashchenko <ilya@netdata.cloud> | 2020-08-03 14:21:51 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-03 14:21:51 +0300 |
commit | bdda59ce541dc0be0092328ba74f01f057871989 (patch) | |
tree | 5c236d34aa30c30d655821c2e2b35cc901975ac2 | |
parent | cddec010873ab3b8136213863a610de64b6d6713 (diff) |
charts.d: fix `current_time_ms_from_date` on macOS (#9636)
-rw-r--r-- | collectors/charts.d.plugin/loopsleepms.sh.inc | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/collectors/charts.d.plugin/loopsleepms.sh.inc b/collectors/charts.d.plugin/loopsleepms.sh.inc index 8fefb5844b..c386083fb4 100644 --- a/collectors/charts.d.plugin/loopsleepms.sh.inc +++ b/collectors/charts.d.plugin/loopsleepms.sh.inc @@ -10,16 +10,24 @@ fi # ----------------------------------------------------------------------------- # use the date command as a high resolution timer +# macOS 'date' doesnt support '%N' precision +# echo $(/bin/date +"%N") is "N" +if [ "$($LOOPSLEEP_DATE +"%N")" = "N" ]; then + LOOPSLEEP_DATE_FORMAT="%s * 1000" +else + LOOPSLEEP_DATE_FORMAT="%s * 1000 + 10#%-N / 1000000" +fi + now_ms= LOOPSLEEPMS_HIGHRES=1 test "$($LOOPSLEEP_DATE +%N)" = "%N" && LOOPSLEEPMS_HIGHRES=0 test -z "$($LOOPSLEEP_DATE +%N)" && LOOPSLEEPMS_HIGHRES=0 current_time_ms_from_date() { - if [ $LOOPSLEEPMS_HIGHRES -eq 0 ]; then - now_ms="$($LOOPSLEEP_DATE +'%s')000" - else - now_ms="$(($($LOOPSLEEP_DATE +'%s * 1000 + 10#%-N / 1000000')))" - fi + if [ $LOOPSLEEPMS_HIGHRES -eq 0 ]; then + now_ms="$($LOOPSLEEP_DATE +'%s')000" + else + now_ms="$(($($LOOPSLEEP_DATE +"$LOOPSLEEP_DATE_FORMAT")))" + fi } # ----------------------------------------------------------------------------- |