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