mirror of https://github.com/nodejs/node.git
35 lines
810 B
JavaScript
35 lines
810 B
JavaScript
'use strict';
|
|
|
|
const {
|
|
constants: {
|
|
NODE_PERFORMANCE_MILESTONE_TIME_ORIGIN,
|
|
NODE_PERFORMANCE_MILESTONE_TIME_ORIGIN_TIMESTAMP,
|
|
},
|
|
milestones,
|
|
now,
|
|
} = internalBinding('performance');
|
|
|
|
function getTimeOrigin() {
|
|
// Do not cache this to prevent it from being serialized into the
|
|
// snapshot.
|
|
return milestones[NODE_PERFORMANCE_MILESTONE_TIME_ORIGIN] / 1e6;
|
|
}
|
|
|
|
// Returns the milestone relative to the process start time in milliseconds.
|
|
function getMilestoneTimestamp(milestoneIdx) {
|
|
const ns = milestones[milestoneIdx];
|
|
if (ns === -1)
|
|
return ns;
|
|
return ns / 1e6 - getTimeOrigin();
|
|
}
|
|
|
|
function getTimeOriginTimestamp() {
|
|
return milestones[NODE_PERFORMANCE_MILESTONE_TIME_ORIGIN_TIMESTAMP] / 1e3;
|
|
}
|
|
|
|
module.exports = {
|
|
now,
|
|
getMilestoneTimestamp,
|
|
getTimeOriginTimestamp,
|
|
};
|