Node.js 服务器的响应时间。
此模块创建一个中间件,用于记录 HTTP 服务器中请求的响应时间。此处将“响应时间”定义为从请求进入此中间件到向客户端写出标头所经过的时间。
这是一个 Node.js 模块,可通过 npm 注册表 获得。安装通过 npm install
命令 完成
$ npm install response-time
var responseTime = require('response-time')
创建一个中间件,将 X-Response-Time
标头添加到响应中。如果您不想使用此模块自动设置标头,请参阅有关 responseTime(fn)
的部分。
responseTime
函数接受一个可选的 options
对象,该对象可能包含以下任意键
输出中要包含的固定位数,该输出始终以毫秒为单位,默认为 3
(例如:2.300ms
)。
要设置的标头的名称,默认为 X-Response-Time
。
布尔值,表示是否应将测量单位后缀添加到输出中,默认为 true
(例如:2.300ms
与 2.300
)。
创建一个新的中间件,该中间件记录请求的响应时间,并将其提供给您自己的函数 fn
。fn
参数将被调用为 fn(req, res, time)
,其中 time
是以毫秒为单位的数字。
var express = require('express')
var responseTime = require('response-time')
var app = express()
app.use(responseTime())
app.get('/', function (req, res) {
res.send('hello, world!')
})
var finalhandler = require('finalhandler')
var http = require('http')
var responseTime = require('response-time')
// create "middleware"
var _responseTime = responseTime()
http.createServer(function (req, res) {
var done = finalhandler(req, res)
_responseTime(req, res, function (err) {
if (err) return done(err)
// respond to request
res.setHeader('content-type', 'text/plain')
res.end('hello, world!')
})
})
var express = require('express')
var responseTime = require('response-time')
var StatsD = require('node-statsd')
var app = express()
var stats = new StatsD()
stats.socket.on('error', function (error) {
console.error(error.stack)
})
app.use(responseTime(function (req, res, time) {
var stat = (req.method + req.url).toLowerCase()
.replace(/[:.]/g, '')
.replace(/\//g, '_')
stats.timing(stat, time)
}))
app.get('/', function (req, res) {
res.send('hello, world!')
})