MujicaUI

Dashboards & Dev Tools · #448

TraceWaterfall 浅色主题渲染快照
浅色 · 渲染快照
TraceWaterfall 深色主题渲染快照
深色 · 渲染快照

448 TraceWaterfall · 调用链瀑布图

用途

按跨度父子层级与耗时展示调用链,并读取跨度详情。

最小示例

spans := []devtools.WaterfallSpan{{ID: "root", Name: "GET /api", Service: "gateway", Duration: 200 * time.Millisecond}, {ID: "db", Parent: "root", Name: "Query", Service: "database", Start: 20 * time.Millisecond, Duration: 80 * time.Millisecond}}
view := func(c *ui.Context) {
	core.Use(c, core.Settings{})
	if devtools.TraceWaterfall(c, spans, devtools.TraceWaterfallOptions{}).Changed() {
		fmt.Println("span selected")
	}
}
ui.Render(view, 720, 480, 1)

参数

Height 默认 320 DIP;WaterfallSpan.ID 唯一,Name 必填;Parent 关联父跨度;Start、Duration 为非负时间;Error 标记失败。

状态

空数据、跨度选择、失败跨度、父级禁用。

事件

Changed() 表示选择了跨度。

键盘操作

Tab 聚焦跨度;上下方向键移动;Enter 读取详情。

限制

更新调用链提交新切片;跨度父子关系须构成树。