[lttng-dev] LTTng Time Stamp Issue

Mohamad Gebai mgebai at suse.de
Fri Apr 20 16:53:02 EDT 2018


LTTng uses the monotonic clock [1] to timestamp the event at trace-time.
The monotonic clock is more appropriate than the real time
(CLOCK_REALTIME) when you want to timestamp/compare/order certain events
within the same system relatively to each other. Using the real time
clock would cause a problem if say someone (or something, like ntp, or
kvm in a VM) changed the system's time while tracing.

With that being said, the monotonic clock doesn't give you a time that
is very meaningful as a human (its reference is the system boot). Having
the timestamps as an actual date and time would be more interesting.
LTTng stores the real time at the beginning of the trace and stores it
in the metadata, which is later used to convert the timestamps from
monotonic time to real time. If you change the system's real time while
tracing, it won't have any effect on the timestamps of the recorded events.

Mohamad

[1] https://linux.die.net/man/3/clock_gettime
[2] http://linuxmogeb.blogspot.ca/2013/10/how-does-clockgettime-work.html


On 04/20/2018 11:37 AM, Jérémie Galarneau wrote:
> Hi,
>
> I'm adding the LTTng mailing list in CC for the benefit of the
> community and so people add to or correct my explanation.
>
> The CTF specification describes the meaning of those fields:
> http://diamon.org/ctf/#spec8
>
> In your case, this means that the timestamps in the trace are
> expressed relative to an arbitrary time set 1524226572435601778 clock
> ticks after 00:00:00 on 1 January 1970.
>
> To take your specific example:
> Your clock is running at 1,000,000,000 Hz, meaning the duration of a
> clock tick (period) is of 1 ns.
>
> The event has occurred at
> 1524226572435601778 (offset) + 00000003827855360941 (event clock
> value) nanoseconds after UNIX Epoch. That leads us to around Friday,
> April 20, 2018 1:20:00 PM (GMT).
>
> Regards,
> Jérémie
>
>
>
> On 20 April 2018 at 11:06, Sai Tujala <Sai.Tujala at mathworks.in
> <mailto:Sai.Tujala at mathworks.in>> wrote:
>
>     Hi Jeremie,
>
>      
>
>                     In metadata file of LTTng trace session,  offset
>     from Epoch is “1524226572435601778” and time stamp of an event in
>     channel data files is starting from “00000003827855360941”. Can
>     you brief about relevance between these two time stamps.
>
>      
>
>     freq = 1000000000; /* Frequency, in Hz */
>
>             /* clock value offset from Epoch is: offset * (1/freq) */
>
>             offset = 1524226572435601778;
>
>      
>
>      
>
>     Thanks & Regards,
>
>     T Sai Kiran
>
>      
>
>
>
>
> -- 
> Jérémie Galarneau
> EfficiOS Inc.
> http://www.efficios.com
>
>
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.lttng.org/pipermail/lttng-dev/attachments/20180420/3fddc3bc/attachment.html>


More information about the lttng-dev mailing list