Library
Module
Module type
Parameter
Class
Class type
Monotonic time values.
Mtime
has platform independent support for monotonic wall-clock time. This time increases monotonically and is not subject to operating system calendar time adjustments.
Time spans represent non-negative monotonic time spans between two monotonic clock readings. Timestamps represent system-relative monotonic timestamps, their absolute value is meaningless but they can be compared across the processes of an operating system run.
Mtime_clock
provides access to a system monotonic clock.
The type for non-negative monotonic time spans. They represent the difference between two monotonic clock readings. If the platform's clock has nanosecond resolution the representation guarantees that the function Mtime_clock.elapsed
can measure up to approximatively 584 Julian year spans before silently rolling over (unlikely since this is in a single program run).
module Span : sig ... end
Monotonic time spans.
Note. Only use timestamps if you need inter-process time correlation, otherwise prefer Mtime_clock.elapsed
and counters.
The type for monotonic timestamps relative to an indeterminate system-wide event (e.g. last startup). Their absolute value has no meaning but can be used for inter-process time correlation.
val to_uint64_ns : t -> int64
to_uint64_ns t
is t
as an unsigned 64-bit integer nanosecond timestamp. The absolute value is meaningless.
val of_uint64_ns : int64 -> t
to_uint64_ns t
is t
is an unsigned 64-bit integer nanosecond timestamp as a timestamp.
Warning. Timestamps returned by this function should only be used with other timestamp values that are know to come from the same operating system run.
val min_stamp : t
min_stamp
is the earliest timestamp.
val max_stamp : t
max_stamp
is the latest timestamp.
span t t'
is the span between t
and t'
regardless of the order between t
and t'
.
add_span t s
is the timestamp s
units later than t
or None
if the result overflows.
sub_span t s
is the timestamp s
units earlier than t
or None
if the result underflows.
val pp : Format.formatter -> t -> unit
pp
formats t
as an unsigned 64-bit integer nanosecond timestamp. Note that the absolute value is meaningless.
val dump : Format.formatter -> t -> unit
dump ppf t
formats an unspecified raw representation of t
on ppf
.