All files / lib/internal/perf utils.js

100% Statements 33/33
100% Branches 6/6
100% Functions 3/3
100% Lines 33/33

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 3423x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 23x 117683x 117683x 117683x 117683x 23x 208x 208x 208x 208x 161x 208x 23x 6492x 6492x 6492x 23x 23x 23x 23x 23x 23x  
'use strict';
 
const binding = internalBinding('performance');
const {
  milestones,
  getTimeOrigin,
} = binding;
 
// TODO(joyeecheung): we may want to warn about access to
// this during snapshot building.
let timeOrigin = getTimeOrigin();
 
function now() {
  const hr = process.hrtime();
  return (hr[0] * 1000 + hr[1] / 1e6) - timeOrigin;
}
 
function getMilestoneTimestamp(milestoneIdx) {
  const ns = milestones[milestoneIdx];
  if (ns === -1)
    return ns;
  return ns / 1e6 - timeOrigin;
}
 
function refreshTimeOrigin() {
  timeOrigin = getTimeOrigin();
}
 
module.exports = {
  now,
  getMilestoneTimestamp,
  refreshTimeOrigin
};