Domiii / Domiii/dbux

Selective tracing: Allow fine-grained/dynamic control of what is traced and what isn't

Open
#219 0 comments 0 reactions 0 assignees View on GitHub
a-lot-of-work discussion enhancement future-work help wanted performance
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.