You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a rust library compiled with dwarf symbols included, but asprof doesn't seem to be able to read them. On the other hand, perf seems to be able to read them just fine.
perf record -a -F 997 -p $(pgrep -n -x java) --call-graph dwarf -- sleep 5 output rendered in speedscope asprof -e cpu --cstack dwarf -i 997 -d 5 -o collapsed -t -s $(pgrep -n -x java) output rendered in speedscope
Here is the library .so for further inspection: link
Here is the collapsed stack output for further inspection: link
The text was updated successfully, but these errors were encountered:
Async-profiler gets symbols from .symtab section, whether embedded in a shared library or located in a separate debuginfo file. Async-profiler does not parse .debug_* sections.
In your case, libsodium_core.so has a trimmed symbol table: check
nm libsodium_core.so
Therefore, async-profiler shows only limited symbolic information.
Please check your compilation options to make sure binaries include a meaningful symbol table (.symtab section).
Parsing extended debug information is out of project scope at this point (unless someone wants to contribute that to async-profiler).
I don't think using .symtab in this case can work ever, as all of the methods seen in the prof screenshot that aren't in the asprof screenshot are inlined. I think this is probably a reasonable restriction, as it looks like it would be very difficult to obtain the inline method information without effectively using a full DWARF parser, or somehow obtaining that information though a tool that can parse them, like prof. It may make sense to document this behavior in the wiki, though.
I have a rust library compiled with dwarf symbols included, but asprof doesn't seem to be able to read them. On the other hand, perf seems to be able to read them just fine.
perf record -a -F 997 -p $(pgrep -n -x java) --call-graph dwarf -- sleep 5
output rendered in speedscopeasprof -e cpu --cstack dwarf -i 997 -d 5 -o collapsed -t -s $(pgrep -n -x java)
output rendered in speedscopeHere is the library
.so
for further inspection: linkHere is the collapsed stack output for further inspection: link
The text was updated successfully, but these errors were encountered: