-
Notifications
You must be signed in to change notification settings - Fork 17.7k
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
runtime: use frame pointer unwind to get backtrace in goroutine profile #66915
Comments
Closing as dup of #16638 |
not a same question. for now, the tracer use fp trace back. |
Ok, then I don't think I understand exactly what you are proposing. Could you be more explicit? |
I don't see any API change here, so I don't think this needs to be a proposal. Taking it out of the proposal process. |
for each goroutine, add a field fp:
modify func runtime.save to save fp:
after these change, user can use below code to get all goroutine's traceback:
the benefit is the goroutine profile overhead would much enhancement. |
I have a stack of CLs to bring frame pointer unwinding to the other runtime profilers, starting here: https://go-review.googlesource.com/c/go/+/543715. I intend to send a CL to use frame pointer unwinding for the goroutine profiler as well. |
amazing work! may be the runtime could provide two type of api. first is compatiable with current profile, which provide funcname, filename and line number. |
If you want to proposal a new API, please file a proposal. See https://golang.org/s/proposal . Thanks. |
Proposal Details
now, the goroutine profile use gopcinfotab to get backtrace.
if we use frame pointer, it would reduce lots of cost.
The text was updated successfully, but these errors were encountered: