xprof
xprof copied to clipboard
A visual tracer and profiler for Erlang and Elixir.
First draft of low level erlang nif tracer. Not passing tests on otp releases older than 19, due to missing symbols in library file.
Steps to reproduce: 1. Start with `make dev`. 2. Setup a trace on `lists:seq/2`. 3. Invoke in the shell `lists:seq(1,100000).` 4. Observe like the tab burn. 🔥 We need to...
Some of the REST endpoints (that are currently polled by the front end) could be replaced by websocket notifications from the server: these definitely as they usually don't return new...
Generate documentation that looks somewhat better than the default edoc style (look at elixir docs). Figure out how to publish (eg. maybe both Erlang API from `xprof_core` and REST API/GUI...
Nomral tracing in Erlang can be controlled in two parts: - `erlang:trace/3` controls which processes to trace (all/none/new/existing/Pid) and global flags (like timestamp format, arity, tracer module, and which events...
- [ ] Create extensible NIF tracer in C. - [ ] Implement filtering of funciton return values. Optional: - [ ] Interface `ERL_NIF_*` calls with C++ - [ ]...
The trace handler process stores start time and arguments for each function call in its process dictionary so that it can fetch it when the function returns. However it is...
Some of the ct testcases fail from time to time but not deterministically This failure is quite common and hopeless to fix because of how timers work in Erlang. (A...
As a starter it can be added to the cowboy handler module as edoc. This is essential for frontend contributors.
Allow to update the query (in place in the graph title bar) for already monitored functions. This can be done without backend modification with a demonitor/monitor combo. Some restrictions may...