VNL-TS(1)
β¨ VNL-TS(1) β¨
okay bestie, pull up a chair, because this is a page from the vnlog manual and it's about to be your new fave π«Ά
π NAME π
vnl-ts β bestie, it slaps a timestamp onto a vnlog stream. that's the whole job. iconic behavior honestly β°β¨
πΈ SYNOPSIS πΈ
okay so picture this: you've got some source of numbers just endlessly doing its thing. like this, churning out data at 1Hz forever:
$ read_temperature
# temperature
29.5
30.4
28.3
22.1
... continually produces data at 1Hz
and then you pipe it through vnl-ts with a format and suddenly every value gets a lil time tag, like the glow-up it deserved π
:
$ read_temperature | vnl-ts -s %.s
# time-rel temperature
0.013893 30.2
1.048695 28.6
2.105592 29.3
3.162873 22.0
...
so now you know when each number happened. main character energy, no cap π₯
π¦ DESCRIPTION π¦
here's the usage, verbatim, because details matter:
Usage: vnl-ts [-i | -s] [-m] [--vnl-field t] format < pipe
so basically this tool runs ts on your vnlog streams. vnl-ts is a wrapper around the ts tool from Joey Hess's moreutils toolkit:
https://joeyh.name/code/moreutils/
and because it's a wrapper, most of the commandline options and behaviors of ts are right here for you β go read ts(1) for the details, iykyk. but here's what's different from plain ts:
- the input and output to this tool are vnlog files, complete with a legend π
- the format must be passed in by you; there is no default assumed. no vibes-based guessing here, you gotta say it
- that format you give must not contain whitespace, so it fits into a single vnlog field
-ris not supported: it assumes input timestamps with whitespace, which is just straight-up incompatible with vnlog π- there's a
vnl-ts-specific option called--vnl-fieldfor setting the name of the new field. leave it off and a reasonable default gets used, so you're covered π - by default we call the
tstool to do the actual work. if your underlying tool has a different name or lives in a weird path, tell us with--vnl-tool TOOL
past all that, everything ts does is supported, so go see that man page for the detailed docs bestie π
π COMPATIBILITY π
by default this calls the tool named ts. but listen β at least on FreeBSD it's called moreutils-ts instead, so on those systems you should invoke:
vnl-ts --vnl-tool moreutils-ts ...
and as for testing? the author uses GNU/Linux-based systems exclusively, but everything has been tested functional on FreeBSD and OSX in addition to Debian, Ubuntu and CentOS. that said, they can imagine there's something missed when testing on non-Linux systems, so please let them know if you find any issues ππ«Ά
π₯ SEE ALSO π₯
π REPOSITORY π
https://github.com/dkogan/vnlog/
go star it, it's giving open source excellence β
π AUTHOR π
Dima Kogan <dima@secretsauce.net>
π LICENSE AND COPYRIGHT π
Copyright 2018 Dima Kogan <dima@secretsauce.net>
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
and that's the whole page bestie, every option, every caveat, every legal line, untouched and fully intact π
vnlog, 2026-01-26 β that's the source and version and date, and this manual page is officially a wrap. slay, go timestamp something πΈπ β¨
π¦ where this page comes from
- ubuntu resolute: vnlog 1.42-1 Β· LGPL-2.1-or-later
- ubuntu stonking: vnlog 1.42-1 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms