latenz
Version:
Measure response latency when requesting a web host.
77 lines (58 loc) • 2.13 kB
Markdown
# latenz
[](https://travis-ci.org/sbstjn/latenz) [](https://github.com/sbstjn/latenz/commits/master) [](https://www.npmjs.com/package/latenz) [](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.com
host: sbstjn.com
Name Lookup: 10ms
Connection: 3ms (13ms)
Response: 63ms (76ms)
Received: 5ms (81ms)
total: 81ms
```

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