Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sbstjn/latenz
JavaScript HTTP latency analyzer
https://github.com/sbstjn/latenz
benchmark javascript latency measure network nodejs
Last synced: 5 days ago
JSON representation
JavaScript HTTP latency analyzer
- Host: GitHub
- URL: https://github.com/sbstjn/latenz
- Owner: sbstjn
- License: mit
- Created: 2016-06-21T07:24:12.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2016-06-23T23:52:36.000Z (over 8 years ago)
- Last Synced: 2024-10-02T07:13:00.121Z (about 1 month ago)
- Topics: benchmark, javascript, latency, measure, network, nodejs
- Language: JavaScript
- Size: 83 KB
- Stars: 20
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# latenz
[![Travis](https://img.shields.io/travis/sbstjn/latenz.svg?maxAge=600)](https://travis-ci.org/sbstjn/latenz) [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](https://github.com/sbstjn/latenz/commits/master) [![npm](https://img.shields.io/npm/dt/latenz.svg?maxAge=600)](https://www.npmjs.com/package/latenz) [![npm](https://img.shields.io/npm/v/latenz.svg?maxAge=600)](https://www.npmjs.com/package/latenz)
A JavaScript latency analyzer like [updown.io](https://updown.io) or [ping.apex.sh](https://ping.apex.sh). Get information about DNS lookup, connection time to your HTTP(S) server and how long it takes to receive the response.
```bash
$ > npm install latenz -g
$ > latenz sbstjn.comhost: sbstjn.com
Name Lookup: 10ms
Connection: 3ms (13ms)
Response: 63ms (76ms)
Received: 5ms (81ms)total: 81ms
```![latenz](flow.png)
If you plan to use the result for further scripting, you might be a friend of the `raw mode`, which can be enabled by using `--raw` parameter:
```bash
$ > latenz sbstjn.com --raw
985 lookup:443 socket:3 response:534 end:5
```For using **HTTPS** instead of HTTP (default), just pass the `--secure` parameter to latenz:
```bash
$ > latenz sbstjn.com --raw --secure
985 lookup:443 socket:3 response:534 end:5
```### JavaScript Usage
If you need the result as a JSON inside JavaScript:```javascript
const Latenz = require('latenz');
const l = new Latenz();l.measure('sbstjn.com').then(result => {
console.log(result);/*
[
{ key: 'resolve', time: 139 },
{ key: 'socket', time: 2 },
{ key: 'response', time: 286 },
{ key: 'firstdata', time: 1 },
{ key: 'end', time: 2 }
]
*/
}).catch((e) => {
throw e;
});
```You can pass an **options object** to `measure` in order to enable a secure connection, change the used port or set the result mode:
```javascript
l.measure('sbstjn.com',
{
secure: true,
port: 8443,
mode: 'pretty'
}
);
```### ToDo
* Error handling
* Support redirects
* Check numbers