Closed
Bug 603768
Opened 15 years ago
Closed 6 years ago
Split up slow and fast probes
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
INVALID
People
(Reporter: sfink, Assigned: sfink)
Details
Right now, all of the probes are conditional on various --enable options. Infrequently-called probes could be enabled all the time (when the infrastructure they rely on is available.)
For example, it would be nice if on Windows the ETW event writer for the GCStart probe was always called. ETW (and most other probe clients) have runtime mechanisms for enabling/disabling, so even these infrequently-called probes would boil down to a flag check when there was no active listener. (dtrace probes are even cheaper.)
This way, we could get some of the probe goodness in shipping applications with negligible performance penalty.
The implementation I'm thinking of is:
- add a configure-time --enable-slow-probes (name suggestions welcome)
- change the defaults of things like --enable-dtrace, --enable-ETW and maybe some others (vtune? shark? callgrind?) to be on if the relevant headers & support tools are available
- wrap "slow" probe handlers in #ifdef MOZ_SLOW_PROBES or something. This wrapping could be over the whole probe, or specific to just the slower handlers (eg dtrace could get away with having more things enabled by default than ETW).
We will also want standard ways of testing whether some probes are enabled at all, for JIT integration. For example, the function call entry/exit probes cause tracemonkey to emit LIR for invoking a dummy function that contains the probe. This must be detected to be unnecessary at record time, but it can vary at runtime so is not just an #ifdef MOZ_SLOW_PROBES.
Comment 1•15 years ago
|
||
Is there a wiki page somewhere that lists the available probes? Would be good to figure out what we want to ship by default, since as you say many of them (even outside JS, such as the startup timeline stuff) would be quite handy for in-the-field diagnostics.
| Assignee | ||
Comment 2•6 years ago
|
||
Probes are long gone.
We're adding various types of new probes instead. ;-)
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → INVALID
You need to log in
before you can comment on or make changes to this bug.
Description
•