-
Notifications
You must be signed in to change notification settings - Fork 248
/
index.js
48 lines (39 loc) · 1.37 KB
/
index.js
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
const busLogLevels = require("../../../utl/bus-log-levels");
const { getHeader, getProgressLine, getEndText } = require("./handlers");
function getHeaderWriter(pStream, pMaxLevel) {
return (_pMessage, pOptions) => {
const lOptions = { level: busLogLevels.SUMMARY, ...(pOptions || {}) };
pStream.write(getHeader(lOptions.level, pMaxLevel));
};
}
function getProgressWriter(pStream, pState, pMaxLevel) {
return (pMessage, pOptions) => {
const lOptions = { level: busLogLevels.SUMMARY, ...(pOptions || {}) };
pStream.write(getProgressLine(pMessage, pState, lOptions.level, pMaxLevel));
};
}
function getEndWriter(pStream, pState, pMaxLevel) {
return (_pMessage, pLevel = busLogLevels.SUMMARY) => {
pStream.write(getEndText(pState, pLevel, pMaxLevel));
pStream.end();
};
}
module.exports = function setUpPerformanceLogListener(
pEventEmitter,
pMaxLevel = busLogLevels.INFO,
pStream = process.stderr
) {
let lState = {
previousMessage: "start of node process",
previousTime: 0,
previousUserUsage: 0,
previousSystemUsage: 0,
previousRss: 0,
previousHeapTotal: 0,
previousHeapUsed: 0,
previousExternal: 0,
};
pEventEmitter.on("start", getHeaderWriter(pStream, pMaxLevel));
pEventEmitter.on("progress", getProgressWriter(pStream, lState, pMaxLevel));
pEventEmitter.on("end", getEndWriter(pStream, lState, pMaxLevel));
};