programa-de-respuesta
Tiempo de respuesta para servidores Node.js.
Este módulo crea un middleware que registra el tiempo de respuesta para peticiones en servidores HTTP. El “tiempo de respuesta” se define aquí como el tiempo transcurrido desde que una solicitud entra en este middleware hasta que las cabeceras son escritas al cliente.
Instalación
Este es un módulo Node.js disponible a través del
npm registry. La instalación se realiza usando el comando
npm install:
$ npm install response-timeAPI
var responseTime = require('response-time');responseTime([options])
Crea un middleware que agrega una cabecera X-Response-Time a las respuestas. Si
no desea utilizar este módulo para establecer automáticamente un encabezado, por favor
vea la sección sobre responseTime(fn).
Opciones
La función responseTime acepta un objeto opcional options que puede
contener cualquiera de las siguientes claves:
digits
El número fijo de dígitos a incluir en la salida, que está siempre en milisegundos
, por defecto es 3 (ej: 2.300ms).
cabecera
El nombre de la cabecera a establecer, por defecto es X-Response-Time.
suffix
Booleano para indicar si las unidades de sufijo de medida deben ser añadidas a
la salida, por defecto a true (ej: 2.300ms vs 2.300).
responseTime(fn)
Crea un nuevo middleware que registre el tiempo de respuesta de una solicitud y
lo pone disponible para tu propia función fn. El argumento fn será
invocado como fn(req, res, time), donde time es un número en milisegundos.
Ejemplos
expresar/conectar
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 vainilla
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!'); });});métricas de tiempo de respuesta
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!');});