sd_journal_get_realtime_usec, sd_journal_get_monotonic_usec — Read timestamps from the current journal entry
#include <systemd/sd-journal.h>
int sd_journal_get_realtime_usec( | sd_journal *j, |
uint64_t *usec) ; |
int sd_journal_get_monotonic_usec( | sd_journal *j, |
uint64_t *usec, | |
sd_id128_t *boot_id) ; |
sd_journal_get_realtime_usec()
gets the
realtime (wallclock) timestamp of the current journal entry. It
takes two arguments: the journal context object and a pointer to a
64-bit unsigned integer to store the timestamp in. The timestamp
is in microseconds since the epoch, i.e.
CLOCK_REALTIME
.
sd_journal_get_monotonic_usec()
gets
the monotonic timestamp of the current journal entry. It takes
three arguments: the journal context object, a pointer to a 64-bit
unsigned integer to store the timestamp in, as well as a 128-bit
ID buffer to store the boot ID of the monotonic timestamp. The
timestamp is in microseconds since boot-up of the specific boot,
i.e. CLOCK_MONOTONIC
. Since the monotonic
clock begins new with every reboot, it only defines a well-defined
point in time when used together with an identifier identifying
the boot. See
sd_id128_get_boot(3)
for more information. If the boot ID parameter is passed
NULL
, the function will fail if the monotonic
timestamp of the current entry is not of the current system
boot.
Note that these functions will not work before sd_journal_next(3) (or related call) has been called at least once, in order to position the read pointer at a valid entry.
sd_journal_get_realtime_usec()
and
sd_journal_get_monotonic_usec()
returns 0 on
success or a negative errno-style error code. If the boot ID
parameter was passed NULL
and the monotonic
timestamp of the current journal entry is not of the current
system boot, -ESTALE
is returned by
sd_journal_get_monotonic_usec()
.
These APIs are implemented as a shared
library, which can be compiled and linked to with the
libsystemd
pkg-config(1)
file.