middleware de resposta
Tempo de resposta para servidores Node.js.
Este módulo cria um middleware que registra o tempo de resposta para solicitações em servidores HTTP. O “tempo de resposta” é definido aqui como o tempo decorrido de quando uma solicitação entra nesse middleware para quando os cabeçalhos são escritos ao cliente.
Instalação
Este é um módulo Node.js disponível através do
registro do npm. A instalação é feita usando o comando
npm install:
$ npm install response-timeAPI
var responseTime = require('response-time');responseTime([options])
Crie um middleware que adiciona um cabeçalho X-Response-Time para respostas. Se
você não deseja utilizar este módulo para definir automaticamente um cabeçalho, por favor
veja a seção sobre responseTime(fn).
Opções
The responseTime function accepts an optional options object that may
contain any of the following keys:
digits
O número fixo de dígitos a serem incluídos na saída, que está sempre em
milissegundos, o padrão é 3 (ex: 2.300ms).
cabeçalho
O nome do cabeçalho a definir, o padrão é X-Response-Time.
suffix
Boolean para indicar se as unidades de sufixo de medida devem ser adicionadas à
a saída, o padrão é true (ex: 2.300ms vs 2.300).
responseTime(fn)
Crie um novo middleware que registra o tempo de resposta de uma solicitação e
torna isso disponível para sua própria função fn. O argumento fn será
invocado como fn(req, res, tempo), onde time é um número em milissegundos.
Exemplos
expressão/conexão
var express = require('express');var responseTime = require('response-time');
var app = express();
app.use(responseTime());
app.get('/', function (req, res) { res.send('hello, world!');});servidor http vanilla
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!'); });});format@@0tempo de resposta métricas
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!');});