Add timing log

This commit is contained in:
Kunihiko Toumura 2021-08-23 11:54:05 +09:00
parent f1e7ec0c6b
commit 401466d6c0
1 changed files with 26 additions and 0 deletions

View File

@ -514,6 +514,7 @@ in your Node-RED user directory (${RED.settings.userDir}).
if (res.client && res.client.bytesRead) {
node.metric("size.bytes", msg, res.client.bytesRead);
}
emitTimingMetricLog(res.timings, msg);
}
// Convert the payload to the required return type
@ -538,6 +539,9 @@ in your Node-RED user directory (${RED.settings.userDir}).
}
msg.payload = err.toString() + " : " + url;
msg.statusCode = err.code || (err.response?err.response.statusCode:undefined);
if (node.metric()) {
emitTimingMetricLog(err.timings, msg);
}
nodeSend(msg);
nodeDone();
});
@ -547,6 +551,28 @@ in your Node-RED user directory (${RED.settings.userDir}).
node.status({});
});
function emitTimingMetricLog(timings, msg) {
const props = [
"start",
"socket",
"lookup",
"connect",
"secureConnect",
"upload",
"response",
"end",
"error",
"abort"
];
if (timings) {
props.forEach(p => {
if (timings[p]) {
node.metric(`timings.${p}`, msg, timings[p]);
}
});
}
}
function extractCookies(setCookie) {
var cookies = {};
setCookie.forEach(function(c) {