(Convert TAI64N timestamps to decimal seconds since epoch)


tai64nfrac < input > output


Given data with TAI64N timestamps at the beginning of each line as input (such as data generated by multilog), tai64nfrac will convert those times to seconds since epoch (with a fractional part) and otherwise output the same data. It's intended to be used as a filter that changes the timestamp format at the beginning of each line.

tai64nfrac is primarily intended to support using qmailanalog to analyze qmail logs that are being written by multilog rather than to syslog via splogger.


tai64nfrac makes no attempt to handle leap seconds or to handle TAI to UTC conversion correctly. It was written with hard-coded adjustments for systems where the system clock is in UTC and no leap seconds file is present. In that situation, software generating TAI64N timestamps will generate timestamps with an epoch 10 seconds different than UTC, which tai64nfrac adjusts for.

This is obviously not the correct approach, which would be to use the code and algorithms in libtai. It was just the expedient thing to do for my immediate problem.


See <http://cr.yp.to/daemontools/tai64nlocal.html> for documentation of tai64nlocal, which converts TAI64N timestamps to human-readable times in the local time zone.

See <http://cr.yp.to/qmailanalog.html> for qmailanalog.

The current version of this program is available from its web page at <http://www.eyrie.org/~eagle/software/tai64nfrac/>.


Russ Allbery <rra@stanford.edu>


This program is in the public domain. If it is not legal or possible to place a work in the public domain in your jurisdiction, then I hereby grant you a license to treat this program in every way as if it were in the public domain.

Last spun 2014-07-26 from POD modified 2014-04-14