阅读httpstat源码

2020-12-29  本文已影响0人  zcxzcxczcx

源码地址:https://github.com/davecheney/httpstat

httpstat主要统计dns解析、tcp连接、tls handshake(如果是https)、Server Processing、Content Transfer花费的时间。

httpstat是怎么统计这些过程话费的时间的呢?如下图:

准备好httptrace.ClientTrace trace,然后生成一个新的 ctx = context.WithValue(ctx, xxx, trace),再把ctx赋值给req.ctx

之后http请求中就会去调用trace结构体中的函数,如图:

最后,再统计那些过程的时间

使用:

>go get github.com/davecheney/httpstat 

>httpstat https://example.com/

上一篇下一篇

猜你喜欢

热点阅读