Crates.io | ttfb |
lib.rs | ttfb |
version | |
source | src |
created_at | 2021-07-09 14:28:31.656422 |
updated_at | 2024-12-04 16:58:15.588722 |
description | Library + CLI utility to measure the TTFB (time to first byte) of HTTP(S) requests. This includes data of intermediate steps, such as the relative and absolute timings of DNS lookup, TCP connect, and TLS handshake. |
homepage | https://github.com/phip1611/ttfb |
repository | https://github.com/phip1611/ttfb |
max_upload_size | |
id | 420762 |
Cargo.toml error: | TOML parse error at line 19, column 1 | 19 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
Similar to the network tab in Google Chrome or Mozilla Firefox, this crate helps you find the timings for:
It builds upon the crates trust-dns-resolver for modern and secure DNS resolving of domains and native-tls for handling TLS v1.2/1.3.
CLI + lib work on Linux, MacOS, and Windows.
Install with cargo install ttfb --features bin
. It takes one argument and passes it to the library.
The string you pass here as first argument is the same as for the library function.
Additionally, the CLI takes a -k/--insecure
option.
Example: $ ttfb -k https://expired.badssl.com
The library exposes the function ttfb(url: String)
. The string can be for example:
phip1611.de
(defaults to http://
)http://phip1611.de
https://phip1611.de
https://phip1611.de?foo=bar
https://sub.domain.phip1611.de?foo=bar
http://12.34.56.78/foobar
https://1.1.1.1
12.34.56.78/foobar
(defaults to http://
)12.34.56.78
(defaults to http://
)If you installed the CLI and invoke it like $ ttfb https://phip1611.de
, the output will look like:
TTFB for https://phip1611.de (by ttfb@v1.1.1)
PROPERTY REL TIME (ms) ABS TIME (ms)
DNS Lookup : 0.755 0.755 (probably cached)
TCP connect : 35.484 36.239
TLS Handshake : 36.363 72.603
HTTP GET Req : 0.011 72.614
HTTP Resp TTFB: 76.432 149.046
The MSRV of the library is 1.75.0
stable.
The MSRV of the binary is 1.75.0
stable.