Skip to content

vicanso/http-performance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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) => {
/*  { category: '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;
  }
/* { category: '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

Releases

No releases published

Packages

No packages published