go tool trace
2022-02-25 16:26:18 11 举报
AI智能生成
分析go代码执行利器
作者其他创作
大纲/内容
分析维度
View trace
整体链路查看
Goroutine analysis
goroutine分析
每个函数块有多少goroutine在跑
点击具体函数块,可以看到更详细的信息
Network blocking profile
网络阻塞概况
Synchronization blocking profile
同步阻塞概况
Scheduler latency profile
调度延迟概况
可以查看整体调用开销情况
User-defined tasks
用户自定义任务
User-defined regions
用户自定义区域
Minimum mutator utilization
最低mutator 利用率
查看
goroutines都做了什么动作
哪里发生了阻塞
阻塞了多久
谁阻塞了谁
阻塞如何解开的
执行了多长时间
GC是如何影响goroutines的
如何生成trace文件
准备代码,文件名字test.go
package main
import "os"
import "runtime/trace"
func main() {
trace.Start(os.Stderr)
defer trace.Stop()
ch := make(chan string)
go func() {
ch <- "EDDYCJY"
}()
<-ch
}
import "os"
import "runtime/trace"
func main() {
trace.Start(os.Stderr)
defer trace.Stop()
ch := make(chan string)
go func() {
ch <- "EDDYCJY"
}()
<-ch
}
生成trace.out文件
go run test.go 2>trace.out
查看trace.out文件
go tool trace trace.out
0 条评论
下一页