Ich sah in this question wie Hapi Server eingerichtet wird, um die Verzögerung in der Ereignisschleife von Node.js zu überwachen.Wie Log Server Belastung auf Hapi Server
Aber ich möchte jedes Mal einzuloggen die Verzögerung einen Schwellenwert überschreitet, statt Rückkehr 503.
Wie könnte ich es tun?
Nach der API reference, gibt es eine 'load' Eigenschaft in der Serverinstanz, die die Informationen enthält, die ich will, aber ich weiß nicht, wie das Ereignis (oder wenn ein solches Ereignis ist) ausgelöst wird, wenn der Belastung wird überprüft.
UPDATE:
Ok, fand ich heraus, es ist ein Ereignis ‚log‘, die „eine Anforderung, wenn der Server verwirft wegen der hohen Belastung“, nach to this ausgelöst wird.
Aber ich möchte nur protokollieren, ich möchte keine Anfragen zurückweisen, damit das Problem nicht gelöst wird.
Was ich bisher habe, die protokolliert, wenn Anfragen abgelehnt werden, ist dies:
server.on('log', (event) => {
if (event.tags && event.tags.indexOf('load') > -1) {
console.error(`Event loop lag detected! Latency: ${event.data.eventLoopDelay} ms`);
}
});