/** * Monotonic timing for spans (performance.now when available; else coarse wall fallback). */ export function bareOsMonotonicNowMs() { if (typeof globalThis.performance?.now === 'function') { return globalThis.performance.now() } return Date.now() } /** * @param {number} startMs */ export function bareOsMonotonicElapsedMs(startMs) { return Math.max(0, bareOsMonotonicNowMs() - startMs) }