response-time

Response time for Node.js servers

response-time

Response time for Node.js servers.

This module creates a middleware that records the response time for requests in HTTP servers. The "response time" is defined here as the elapsed time from when a request enters this middleware to when the headers are written out to the client.

$ npm install response-time
var responseTime = require('response-time')

Create a middleware that adds a X-Response-Time header to responses. If you don't want to use this module to automatically set a header, please see the section about responseTime(fn).

The responseTime function accepts an optional options object that may contain any of the following keys:

The fixed number of digits to include in the output, which is always in milliseconds, defaults to 3 (ex: 2.300ms).

The name of the header to set, defaults to X-Response-Time.

Boolean to indicate if units of measurement suffix should be added to the output, defaults to true (ex: 2.300ms vs 2.300).

Create a new middleware that records the response time of a request and makes this available to your own function fn. The fn argument will be invoked as fn(req, res, time), where time is a number in milliseconds.

var express = require('express')
var responseTime = require('response-time')
 
var app = express()
 
app.use(responseTime())
 
app.get('/', function (reqres) {
  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 (reqres) {
  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 = requrie('node-statsd')
 
var app = express()
var stats = new StatsD()
 
stats.socket.on('error', function (error) {
  console.error(error.stack)
})
 
app.use(responseTime(function (reqrestime) {
  var stat = (req.method + req.url).toLowerCase()
    .replace(/[:\.]/g, '')
    .replace(/\//g, '_')
  stats.timing(stat, time)
}))
 
app.get('/', function (reqres) {
  res.send('hello, world!')
})

MIT