Selective tracing: Allow fine-grained/dynamic control of what is traced and what isn't
- Dominant language
- JavaScript
- Stars
- 171
- Forks
- 13
- PR merge metrics
- No merged PRs in 30d
Description
# Explaination
* When executing *a lot of stuff* (e.g. long loops or high FPS games etc), things will get slow
* Instead of recording *everything*, we might want to be able to choose what to record, and when.
* For example: Dbux probably won't really work at all if you run it on a 30+FPS game.
* In that case, we might want to be very strategic in telling Dbux to only record: (i) initialization, (ii) a select few other functions and then (iii) several frames of the gameloop for our analysis.
* NOTE: We currently have hardcoded `*disabled` settings in `RuntimeMonitor`.
# What to do:
* [ ] Add ability to easily conrol (e.g. via the Call Graph and other interfaces) to tell Dbux which contexts and/or context roots to trace.
* [ ] Add **sample-based tracing**: only sometimes trace pieces of code with many, many executions
* E.g.: "trace only the next N (e.g. 10) executions" of any context and/or context root (initially and again whenever some UI button is clicked)
* This would be important for high-FPS situations
Contributor guide
Assessment
This issue has not been assessed yet.