Comments (5)
on macOS,
sudo flamegraph rg
will produce mangled names:
from inferno.
@king6cong This makes sense. The testing I did before was only for perf
since inferno
didn't yet support DTrace
. Since you're on macOS, it's using DTrace
. DTrace
tries to demangle the names, but I believe it's demangling Rust
names like C++
. This sort of works, but not very well. After DTrace
does its demangling, the result can't be demangled with the rustc
demangler.
One way we could work around this is to pass the -xmangled
option to dtrace
so the names remain mangled. Then we could change the dtrace
collapser to demangle the names. This would give much better results.
from inferno.
I added support for this in a branch using the symbolic_demangle
crate. The problem is perf is already doing a great job demangling function names for me in all of the tests I've tried.
I used perf on some Rust programs to see if I could ever get function names that don't demangle correctly. The only way the names come out mangled is if I explicitly pass --no-demangle
to perf script. I wonder why other people are getting different results.
Have you seen mangled Rust names from perf?
from inferno.
BTW, if I do pass --no-demangle
to perf script, my branch's version of inferno-collapse-perf
successfully demangles the function names. I could create some tests this way, but I'm wondering why perf's demangling isn't working for some people.
from inferno.
It could be that those people are using older versions of perf
with broken or outdated demangling. Given your experiments, I'm inclined to just close this and leave perf
to deal with it. If anyone having this problem could provide some more context, that'd be great!
from inferno.
Related Issues (20)
- More Firefox rendering issues HOT 1
- `inferno 0.11.8` removed sealed `CollapsePrivate` trait from public API HOT 1
- Lower level API to flamegraph renderer HOT 1
- Color diffusion mode gives less useful results in flamechart mode HOT 2
- Support for simplifying recursive function calls as stackcollapse perl scripts HOT 7
- Support for collapsing source lines from -F+srcline in `perf script` outputs HOT 1
- atty 0.2 has a potential unaligned read HOT 3
- 0.11.15 build fails on Rust 1.62 HOT 1
- Single stack detection can be wrong if the event contains multiple colon HOT 3
- `Input data ends in the middle of a stack.` when using on result of attaching HOT 1
- Differential output tooltips are confusing HOT 4
- Differential output only calculates diff correctly for leaves (most specific frames) HOT 4
- support hot/cold flamegraphs HOT 1
- Document cargo features in readme HOT 1
- flamegraph does not contain sys_enter_* calls with params HOT 3
- Documentation, especially of folded format HOT 3
- publish packages HOT 5
- Error in generated SVG: PCDATA invalid Char value (macos) HOT 5
- Dependencies versions too loose HOT 1
- wallClockProfiler support
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from inferno.