埋点
Hertz 支持灵活启用基本埋点和细粒度埋点
埋点粒度
| 参数 | 介绍 | 启用策略 |
|---|---|---|
| LevelDisabled | 禁用埋点 | 无 tracer 时,默认启用 |
| LevelBase | 仅启用基本埋点 | |
| LevelDetailed | 启用基本埋点和细粒度埋点 | 有 tracer 时,默认启用 |
埋点粒度控制
package main
import (
"github.com/cloudwego/hertz/pkg/app/server"
"github.com/cloudwego/hertz/pkg/common/tracer/stats"
)
func main() {
h := server.Default(server.WithTraceLevel(stats.LevelBase))
h.Spin()
}
埋点说明
基本埋点
HTTPStart: 请求开始HTTPFinish: 请求结束
细粒度埋点
ReadHeaderStart:读取 header 开始ReadHeaderFinish:读取 header 结束ReadBodyStart:读取 body 开始ReadBodyFinish:读取 body 结束ServerHandleStart:业务 handler 开始ServerHandleFinish:业务 handler 结束WriteStart:写 response 开始WriteFinish:写 response 结束
如果不希望记录这些信息,可以不注册任何 tracer 或者将埋点策略设置为
LevelDisabled,则框架不会记录这些信息。将链路中某节点埋点策略设置为
LevelDisabled或者不注册任何 tracer,会导致本节点 span/metrics 丢失,同时也会导致链路中断。
时序图

最后修改
October 24, 2025
: fix(eino_doc): callback demo error (#1449) (e21606a)