psychedelicious
|
4602efd598
|
feat: add profiler util (#5601)
* feat(config): add profiling config settings
- `profile_graphs` enables graph profiling with cProfile
- `profiles_dir` sets the output for profiles
* feat(nodes): add Profiler util
Simple wrapper around cProfile.
* feat(nodes): use Profiler in invocation processor
* scripts: add generate_profile_graphs.sh script
Helper to generate graphs for profiles.
* pkg: add snakeviz and gprof2dot to dev deps
These are useful for profiling.
* tests: add tests for profiler util
* fix(profiler): handle previous profile not stopped cleanly
* feat(profiler): add profile_prefix config setting
The prefix is used when writing profile output files. Useful to organise profiles into sessions.
* tidy(profiler): add `_` to private API
* feat(profiler): simplify API
* feat(profiler): use child logger for profiler logs
* chore(profiler): update docstrings
* feat(profiler): stop() returns output path
* chore(profiler): fix docstring
* tests(profiler): update tests
* chore: ruff
|
2024-01-31 10:51:57 +00:00 |
|