#时间 #HTTP #性能 #HTTP 请求 #网页 #HTTP 状态码 #TTFB

http-timings

一个用于从开发工具中测量关键 HTTP 时间的简单库

3 个版本

新版本 0.1.3 2024年8月24日
0.1.2 2024年4月15日
0.1.1 2024年4月12日
0.1.0 2024年4月12日

#http-status 中排名第 6

每月下载量 21

自定义许可

18KB
386

http-timings: 一个测量 HTTP 时间的库

phip1611 的 TTFB 库启发。该库提供的 HTTP 时间如下

  • DNS 查询时间
  • TCP 连接时间
  • TLS 握手时间
  • HTTP 发送时间
  • 首次字节到达时间
  • 内容下载时间

除了这个时间之外,这个库还为每个请求提供了以下信息

  • HTTP 状态码
  • 响应体

用法

use http_timings::request_url;

if let Ok(timings) = request_url("https://www.google.com") {
   println!("{:?}", timings);
}

/// Output:
/// RequestOutput {
///   status: 200,
///   timings: RequestTimings {
///     dns: 19.121396ms,
///     tcp: 42.066481ms,
///     tls: Some(29.665676ms),
///     http_send: 8.977µs,
///     ttbf: 101.531718ms,
///     content_download: 2.268473ms
///   },
///   body: "<!doctype html>..."
/// }

RequestOutput 结构体提供了相对和总时间的测量。相对时间是请求每个步骤所需的时间,而总时间是请求开始到结束所需的时间。

URL 输入可以是任何有效的网站,也可以是任何有效的 IP。

依赖

~16–24MB
~595K SLoC