我使用http.createServer(onRequest)
创建一个http服务器,并希望测量做出响应所需的时间。
目前,在我的onRequest
处理程序中我做了:
var start = process.hrtime();
response.on('end', function (){
console.log('time to respond', process.hrtime(start));
});
// call various asynchronous functions and send them 'response' object. One of them eventually does response.end()
我担心如果一堆请求立即出现,或者异步会破坏它/混淆时间,这种方法是否能正常工作?
答案 0 :(得分:0)
变量将位于onRequest
处理程序函数的闭包范围内,因此它将按照您期望的方式工作(假设process.hrtime
执行您想要的操作)。
答案 1 :(得分:0)
你应该做点什么,
function measureRequestTime (req, res, next) {
var start = process.hrtime();
response.on('end', function () {
// logging the time here..
});
}
// app init
app.use(meastureTime);