mirror of
https://github.com/nodejs/node.git
synced 2025-05-06 09:02:40 +00:00

- Move Performance and InternalPerformance to a new lib/internal/perf/performance.js - Move now() getMilestoneTimestamp() into lib/internal/perf/utils.js - Rename lib/internal/perf/perf.js to lib/internal/perf/performance_entry.js - Refresh time origin at startup (this means the time origins could differ between snapshot building time and snapshot creation time) PR-URL: https://github.com/nodejs/node/pull/38971 Refs: https://github.com/nodejs/node/issues/35711 Reviewed-By: James M Snell <jasnell@gmail.com>
34 lines
639 B
JavaScript
34 lines
639 B
JavaScript
'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
|
|
};
|