http-performance

1.0.2 • Public • Published

http-performance

I use httpstat to test my rest api's performance and then I want to write a module to get the performance of http.

The moudle can get the request and response of http, including dns, method, url and so on.

Build Status Coverage Status npm Github Releases

API

// please require the module first
const httpPerf = require('http-performance');
const http = require('http');
httpPerf.on('stats', (stats) => {
/*  { type: 'request',
  dns: { ip: '14.215.177.38', addressType: 4 },
  requesting: 0,
  method: 'GET',
  host: 'www.baidu.com',
  url: '/',
  status: 200,
  bytes: 15358,
  timing: { socket: 9, dns: 2, tcp: 6, processing: 13, transfer: 5, all: 35 } }
*/
  console.info(stats);
});
http.get('http://www.baidu.com/');
// please require the module first
const httpPerf = require('http-performance');
const http = require('http');
const express = require('express');
httpPerf.on('stats', (stats) => {
  if (stats.type !== 'response') {
    return;
  }
/* { type: 'response',
  method: 'GET',
  timing: { all: 1013, socket: 0 },
  status: 200,
  url: '/',
  bytes: 60,
  responsing: 0 }
*/
  console.info(stats);
});
const app = express();
app.use((req, res, next) => setTimeout(next, 1000));
app.use((req, res) => {
  res.json({
    message: 'hello world',
  });
});
 
const server = app.listen();
const url = `http://127.0.0.1:${server.address().port}`;
http.get(url);

disable/enable

  • type The http type, 'request' or 'response'

Diable or enable the http stats type, default is enabled.

const httpPerf = require('http-performance');
httpPerf.disable('request');
httpPerf.enable('request');

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i http-performance

Weekly Downloads

2

Version

1.0.2

License

MIT

Last publish

Collaborators

  • tree.xie