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!')
})