-
-
Notifications
You must be signed in to change notification settings - Fork 3
tai64n.8
tai64n - put a precise timestamp on each line.
tai64n
tai64n reads lines from stdin. For each line, it writes
- an @,
-
a precise timestamp,
-
a space, and
-
a copy of the input line
to stdout. The timestamp indicates the moment that tai64n read the first character of the line.
tai64n does not allocate any memory after it starts.
Timestamps used by tai64n are 12-byte TAI64N labels in external TAI64N format, printed as 24 lowercase hexadecimal characters. You can use tai64nlocal(8) to convert the timestamps to a human-readable format.
For example, the timestamp 4000000037c219bf2ef02e94 refers to the nanosecond beginning exactly 935467455.787492500 seconds after the beginning of 1970 TAI; 37c219bf hexadecimal is 935467455, and 2ef02e94 hexadecimal is 787492500.
The current implementation of tai64n relies on the UNIX gettimeofday library routine to return the current time as the number of TAI seconds since 1970-01-01 00:00:10 TAI. Beware that most gettimeofday implementations are not Y2038-compliant. Furthermore, most clocks are not set accurately.
TAI stands for Temps Atomique International, the current international real-time standard. One TAI second is defined as the duration of 9192631770 periods of the radiation corresponding to the transition between the two hyperfine levels of the ground state of the cesium atom.
tai64n exits 0 when it sees end of input. It exits 111 without an error message if it has trouble reading stdin or writing stdout.
supervise(8), svc(8), svok(8), svstat(8), svscanboot(8), svscan(8), readproctitle(8), fghack(8), pgrphack(8), multilog(8), tai64nlocal(8), tai64nunix(8), setuidgid(8), envuidgid(8), envdir(8), softlimit(8), setlock(8)