Félix Baylac Jacqué
d22b68dd2c
I don't really get that one. As soon as we send those to tracy, we segfault the profiler. I really don't get what's happening here. We need to investigate this more to figure out what's happening. |
||
---|---|---|
.github | ||
config | ||
contrib | ||
dep-patches | ||
doc | ||
m4 | ||
maintainers | ||
misc | ||
mk | ||
perl | ||
scripts | ||
src | ||
tests | ||
.clang-format | ||
.clang-tidy | ||
.dir-locals.el | ||
.editorconfig | ||
.gitignore | ||
.gitmodules | ||
.version | ||
CONTRIBUTING.md | ||
COPYING | ||
Makefile | ||
Makefile.config.in | ||
README.md | ||
configure.ac | ||
default.nix | ||
docker.nix | ||
flake.lock | ||
flake.nix | ||
local.mk | ||
package.nix | ||
precompiled-headers.h | ||
shell.nix |
README.md
Nix Profiled With Tracy
Profiling Idea
TODO: explain
- Tracing thunk force operations.
- Eval is single-threaded and recursive: easy to build stack frames out of global eval state.
- Profiling infos are streamed to tracy server in that prototype.
- In previous iterations, we tried:
- keep the profile in memory and save it to memory in a previous iteration. See andir's version for code/more infos.
- eBPF approach using USDTs (through bcc). We kept over-running the kernel/userspace ring buffer. See here for more infos/code.
TODOs
- Document everything.
- Rewrite autotools madness with somebody who actually know what they're doing.