Time_ns and Time represents time since 1970 (the unix epoch). When writing out
perf mertics, we don't have enough bits to express nanos since the unix epch. Instead
we record an arbitrary point of time as the Profiler_epoch.t. Times can be stored
with respect to this epoch.
In the offline protocol, in order to save space in the header, an 'epoch' is written
to the header, and times are stored as an offset from this epoch. (See also:
Protocol.Short_header)
val of_time : Core.Time_ns.t ‑> tval to_time : t ‑> Core.Time_ns.tval add : t ‑> Core.Time_ns.Span.t ‑> Core.Time_ns.tval diff : t ‑> Core.Time_ns.t ‑> Core.Time_ns.Span.tval of_int : int ‑> tval to_int : t ‑> intval to_string : t ‑> string