Comments (6)
#145, #146, and #147 have reduced dependencies further and made more of them optional.
$ cargo tree --no-indent | sed 's/ (\*)//' | sort -u | wc -l
107
$ cargo tree --no-indent --no-default-features | sed 's/ (\*)//' | sort -u | wc -l
76
from inferno.
Now we're down to 109 dependencies after #144.
$ cargo tree --no-indent | sed 's/ (\*)//' | sort -u | wc -l
109
from inferno.
Hey @jonhoo I tried building the project locally without each one of the non dev deps but the project would only build with all of them. What is the path you were thinking for this?
from inferno.
When I try to cargo build
the project locally I get:
--> src/collapse/perf.rs:4:5
|
4 | use symbolic_demangle::demangle;
| ^^^^^^^^^^^^^^^^^ use of undeclared type or module `symbolic_demangle`
error[E0433]: failed to resolve: use of undeclared type or module `symbolic_demangle`
--> src/collapse/dtrace.rs:332:45
|
332 | self.transform_function_name(frame, symbolic_demangle::demangle)
| ^^^^^^^^^^^^^^^^^ use of undeclared type or module `symbolic_demangle`
error: aborting due to 2 previous errors
from inferno.
Ah, sorry, to be clear, it's not as though we currently list unused dependencies, but rather I would like to see us re-write parts of the code so that we can remove dependencies. I'm not sure what the issue you are pointing to with symbolic_demangle
is -- it compiles fine for me locally?
from inferno.
I think we should be able to remove symbolic_demangle
as a dependency.
#133 and #134 added to our collapsers the ability to fix partially demangled Rust symbols with no external dependencies. I originally implemented #132 to work around the same problem, but it required you to pass --no-demangle
to perf script, or -xmangled
to dtrace since symbolic_demangle
doesn't work when the symbols are partially demangled. Now that we are able to take the mostly demangled symbols the profiling tools give us and fix them up from there, the demangle
option on the collapsers seems to be unnecessary.
What do you think?
from inferno.
Related Issues (20)
- 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
- graph diffs from perl flamegraph HOT 3
- Upgrade quick-xml
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.