When the phone's screen is off (still running/connected), quite often NightWatch/Wear updates late.
This does not happen, when the phone's screen is on or it is connected to Android Studio. Turning it on (pressing button) leads to a quick update.
Logcat shows, that a delay seems to happen between receiving the data from the wixel and reaching it through to BgReading and BGSendQueue to finally send it.
The first marked 2 lines (around 00:12 ) show, that there is a delay of more than a minute between the calls of BgReading and BgSendQueue.
The second marked 2 lines show that BgReading is reached about a minute later than the reading usually arrives there following the 5-minute-pattern.
I believe this is to be much worse when not logging to local file. But without logs I cannot prove it 😉
--------- beginning of /dev/log/main
--------- beginning of /dev/log/system
...
06-11 00:08:48.273 3391 3402 D BgReading: Calibrations, so doing everything
06-11 00:08:49.553 3391 3402 D BGSendQueue: New value added to queue!
06-11 00:12:56.701 3391 3402 D BgReading: Calibrations, so doing everything
06-11 00:14:13.514 3391 3402 D BGSendQueue: New value added to queue!
06-11 00:17:33.476 3391 3402 D BgReading: Calibrations, so doing everything
06-11 00:17:35.136 3391 3402 D BGSendQueue: New value added to queue!
...
06-11 02:52:34.167 3190 3204 D BgReading: Calibrations, so doing everything
06-11 02:52:34.897 3190 3204 D BGSendQueue: New value added to queue!
06-11 02:57:54.483 3190 3204 D BgReading: Calibrations, so doing everything
06-11 02:57:57.123 3190 3204 D BGSendQueue: New value added to queue!
06-11 03:03:00.236 3190 3204 D BgReading: Calibrations, so doing everything
06-11 03:03:01.186 3190 3204 D BGSendQueue: New value added to queue!
06-11 03:08:04.549 3190 11365 D BgReading: Calibrations, so doing everything
06-11 03:08:05.759 3190 11365 D BGSendQueue: New value added to queue!
06-11 03:13:59.580 3190 3203 D BgReading: Calibrations, so doing everything
06-11 03:14:01.060 3190 3203 D BGSendQueue: New value added to queue!
edit: Here an example where the watch showed a 10 minute old value, a 5 minute old value and the new value - all within seconds:
06-11 03:37:40.307 3190 3203 D BgReading: Calibrations, so doing everything
06-11 03:37:41.457 3190 3203 D BGSendQueue: New value added to queue!
06-11 03:45:14.011 3190 11540 D BgReading: Calibrations, so doing everything
06-11 03:47:33.918 3190 11540 D BGSendQueue: New value added to queue!
06-11 03:47:35.818 3190 11485 D BgReading: Calibrations, so doing everything
06-11 03:47:37.258 3190 11485 D BGSendQueue: New value added to queue!