ci/bare-metal: Include a timestamp in our serial reads.
authorEric Anholt <eric@anholt.net>
Mon, 31 Aug 2020 19:41:57 +0000 (12:41 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 3 Sep 2020 23:22:42 +0000 (23:22 +0000)
gitlab CI doesn't include timestamps in its logs by default, but it's
really useful for finding delays in our CI so stuff one in on the lines
coming in from serial and being output to the gitlab log.  The artifacts
file is still the raw serial output.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6529>

.gitlab-ci/bare-metal/serial_buffer.py

index 8ea9051fe1a3bab08e6170b16c71f5ae33d41318..886bce64d14f85e5d73ef8ab88f0fed7f1386c4b 100755 (executable)
@@ -22,6 +22,7 @@
 # IN THE SOFTWARE.
 
 import argparse
 # IN THE SOFTWARE.
 
 import argparse
+from datetime import datetime,timezone
 import queue
 import serial
 import threading
 import queue
 import serial
 import threading
@@ -76,7 +77,10 @@ class SerialBuffer:
                 line.append(b)
                 if b == b'\n'[0]:
                     line = line.decode(errors="replace")
                 line.append(b)
                 if b == b'\n'[0]:
                     line = line.decode(errors="replace")
-                    print(self.prefix + line, flush=True, end='')
+
+                    time = datetime.now().strftime('%y-%m-%d %H:%M:%S')
+                    print("{time} {prefix}{line}".format(time=time, prefix=self.prefix, line=line), flush=True, end='')
+
                     self.line_queue.put(line)
                     line = bytearray()
 
                     self.line_queue.put(line)
                     line = bytearray()