1pub const NSEC_PER_USEC: u64 = 1_000;
2pub const NSEC_PER_MSEC: u64 = 1_000_000;
3pub const NSEC_PER_SEC: u64 = 1_000_000_000;
4pub const USEC_PER_MSEC: u64 = 1_000;
5pub const USEC_PER_SEC: u64 = 1_000_000;
6pub const MSEC_PER_SEC: u64 = 1_000;
7
8pub fn timestamp_usec() -> u64 {
9 let now = std::time::Instant::now();
10 let duration = now.elapsed();
11 duration.as_secs() * USEC_PER_SEC + duration.subsec_micros() as u64
12}
13
14pub fn timestamp_msec() -> u64 {
15 timestamp_usec() / USEC_PER_MSEC
16}
17
18pub fn timestamp_sec() -> u64 {
19 timestamp_usec() / USEC_PER_SEC
20}
21
22pub fn tick_count() -> u64 {
23 timestamp_msec()
24}