Need help with response-time?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

expressjs
432 Stars 59 Forks MIT License 97 Commits 4 Opened issues

Description

Response time header for node.js

Services available

!
?

Need anything else?

Contributors list

response-time

NPM Version NPM Downloads Build Status Test Coverage

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.

Installation

This is a Node.js module available through the npm registry. Installation is done using the

npm install
command:

$ npm install response-time

API

var responseTime = require('response-time')

responseTime([options])

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)
.

Options

The

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

The fixed number of digits to include in the output, which is always in milliseconds, defaults to

3
(ex:
2.300ms
).
header

The name of the header to set, defaults to

X-Response-Time
.
suffix

Boolean to indicate if units of measurement suffix should be added to the output, defaults to

true
(ex:
2.300ms
vs
2.300
).

responseTime(fn)

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.

Examples

express/connect

var express = require('express')
var responseTime = require('response-time')

var app = express()

app.use(responseTime())

app.get('/', function (req, res) { res.send('hello, world!') })

vanilla http server

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

}) })

response time metrics

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

License

MIT

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.