-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # 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: