[英]node.js timing http requests
我正在嘗試確定響應請求所需的時間。
現在,我在httpServer 請求事件上創建了一個時間戳,問題是httpServerResponse不會發出end ,並且結束響應的end函數在不同的位置調用,並且我不想在所有這些位置添加此代碼。
有一個更好的方法嗎?
var server = http.createServer();
server.on('request', dispatch);
function dispatch(req, res){
var start = Date.now();
// No such event so never fired
res.on('end', function(){
console.log('requests.time', Date.now() - start);
});
generateResponse(req, res);
}
您可以覆蓋原始的res.end()函數,然后從其中調用原始函數:
var server = http.createServer();
server.on('request', dispatch);
function dispatch(req, res){
var start = Date.now();
var original=res.end;
res.end=function(txt,encoding){
console.log('requests.time', Date.now() - start);
original.call(this,txt,encoding);
}
generateResponse(req, res);
}
function generateResponse(req,res){
setTimeout(function(){ // simulate some processing
res.end('hi');
},1000);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.