-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Main binary filename not available. #138
Comments
这个和文件后缀应该没啥关系,只要是生成的压缩文件的内容符合谷歌pprof pb格式的要求,就可以被 go pprof工具正常解析。 我起了个demo,import了holmes的master分支代码。并没有复现你的问题。 方便提供一下可复现的case吗,我们在一起调查下。 |
GCHeap.heap-3.20230131112906.390.log |
两个profile里的metric指向的函数都是,应该是add2line的时候找不到函数名和地址。能提供下demo吗 |
因为是公司的服务感觉不太好直接全贴出来..需要哪些关键的地方我可以节选出来。
} type ReporterImpl struct{} func (r *ReporterImpl) Report(pType string, filename string, reason holmes.ReasonType, eventID string, sampleTime time.Time, pprofBytes []byte, scene holmes.Scene) error { func main() { ` 这部分就是集成holmes的地方 剩下就是请求一个文件上传的业务接口 |
你方便运行下 这里的case吗?看看能否正常解析。 |
本地运行demo可以正常解析。 |
/needInvestigate |
环境 holmes.WithTextDump(), 导出的 heap 会出现 unknown 的情况 |
|
与 issue 截图的内容一样,heap 内容能够被 profile 工具解读,但是指向 unknown。 |
使用的是官方的 Deadlock 例子,复现了相同的场景,其他的 demo 也有相同的问题。 Deadlock Demo 包含了 debug log, profile, etc.. |
生成的文件都是.log结尾的
使用linux和mac都尝试go tool pprof 都有一样的问题
`func systemInit() {
err := service.Init()
if err != nil {
glog.Fatalf("system fatal err:%s", err)
}
configs.InitDb()
appstore.Init()
appdev.Init()
//authcheck.Init()
}
type ReporterImpl struct{}
func (r *ReporterImpl) Report(pType string, filename string, reason holmes.ReasonType, eventID string, sampleTime time.Time, pprofBytes []byte, scene holmes.Scene) error {
// do something
glog.Infof("report to minio reporter %s", filename)
fr := bytes.NewReader(pprofBytes)
minioClient := configs.Get().MinioClientPool.Get()
_, err := minioClient.PutObject(context.Background(),
configs.Get().DownloadBucket, filepath.Join("wxtest", filename),
fr, int64(len(pprofBytes)), minio.PutObjectOptions{ContentType: pType})
if err != nil {
glog.Errorf("Reporter holmes.Report error %v", err)
}
return err
}`
The text was updated successfully, but these errors were encountered: