Open Bug 1482834 Opened 6 years ago Updated 2 years ago

Improve the Performance Counter in nsThread

Categories

(Toolkit :: Performance Monitoring, enhancement)

enhancement

Tracking

()

People

(Reporter: tarek, Unassigned)

Details

In bug 1477755 we have implemented an ad-hoc counter for timers because 
in the current design, we are unable to track it.

The way we track counters is two-fold:

- in DocGroup or WorkerThread, we increment the counter when the event is dispatched (so we know the TaskCategory) 
- in nsThread::ProcessNextEvent, we call GetPerformanceCounter() to get back to the counter, wheter it's located in a DocGroup or a Worker

For timers, when a setTimeout or setInterval is called, a new entry is directly added in the ThrottledEventQueue and everytime the timeout occurs, a new nsTimer runnable is triggered via a TimeoutExecutor runnable that runs all the time.

These level of indirections makes it imposible right now to cral back to the
counter unless we make all layers aware of this.

Since this part of the code will be refactored for Project Fission, we took the decision to make an ad-hoc counter and wait for implementing a better generic design, instead of changing many *Timer* classes.
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.