Monotonic time spans
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 ... endMonotonic time spans.
Monotonic timestamps
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 -> int64to_uint64_ns t is t as an unsigned 64-bit integer nanosecond timestamp. The absolute value is meaningless.
val of_uint64_ns : int64 -> tto_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.
Predicates
Arithmetic
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 overflows.
Pretty printing
val pp : Stdlib.Format.formatter -> t -> unitpp ppf t prints t as an unsigned 64-bit integer nanosecond timestamp. Note that the absolute value is meaningless.
val dump : Stdlib.Format.formatter -> t -> unitdump ppf t prints an unspecified raw representation of t on ppf.