1
0
mirror of https://github.com/node-red/node-red.git synced 2023-10-10 13:36:53 +02:00

Add timing log

This commit is contained in:
Kunihiko Toumura 2021-08-23 11:54:05 +09:00
parent f1e7ec0c6b
commit 401466d6c0

View File

@ -514,6 +514,7 @@ in your Node-RED user directory (${RED.settings.userDir}).
if (res.client && res.client.bytesRead) { if (res.client && res.client.bytesRead) {
node.metric("size.bytes", msg, res.client.bytesRead); node.metric("size.bytes", msg, res.client.bytesRead);
} }
emitTimingMetricLog(res.timings, msg);
} }
// Convert the payload to the required return type // 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.payload = err.toString() + " : " + url;
msg.statusCode = err.code || (err.response?err.response.statusCode:undefined); msg.statusCode = err.code || (err.response?err.response.statusCode:undefined);
if (node.metric()) {
emitTimingMetricLog(err.timings, msg);
}
nodeSend(msg); nodeSend(msg);
nodeDone(); nodeDone();
}); });
@ -547,6 +551,28 @@ in your Node-RED user directory (${RED.settings.userDir}).
node.status({}); 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) { function extractCookies(setCookie) {
var cookies = {}; var cookies = {};
setCookie.forEach(function(c) { setCookie.forEach(function(c) {