mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-27 14:52:16 +00:00
Bug 1807015 - Do not call Timestamp::Now when profiler is not running for event delay data r=nika,mstange
Differential Revision: https://phabricator.services.mozilla.com/D166950
This commit is contained in:
parent
b1c227d6c4
commit
0cf1198037
@ -409,7 +409,9 @@ void TaskController::AddTask(already_AddRefed<Task>&& aTask) {
|
||||
task->mPriorityModifier = manager->mCurrentPriorityModifier;
|
||||
}
|
||||
|
||||
task->mInsertionTime = TimeStamp::Now();
|
||||
if (profiler_is_active_and_unpaused()) {
|
||||
task->mInsertionTime = TimeStamp::Now();
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
task->mIsInGraph = true;
|
||||
@ -834,7 +836,8 @@ bool TaskController::DoExecuteNextTaskOnlyMainThreadInternal(
|
||||
TimeStamp now = TimeStamp::Now();
|
||||
|
||||
if (mainThread) {
|
||||
if (task->GetPriority() < uint32_t(EventQueuePriority::InputHigh)) {
|
||||
if (task->GetPriority() < uint32_t(EventQueuePriority::InputHigh) ||
|
||||
task->mInsertionTime.IsNull()) {
|
||||
mainThread->SetRunningEventDelay(TimeDuration(), now);
|
||||
} else {
|
||||
mainThread->SetRunningEventDelay(now - task->mInsertionTime, now);
|
||||
|
@ -331,9 +331,12 @@ nsThreadPool::Run() {
|
||||
// to run.
|
||||
DelayForChaosMode(ChaosFeature::TaskRunning, 1000);
|
||||
|
||||
// We'll handle the case of unstarted threads available
|
||||
// when we sample.
|
||||
current->SetRunningEventDelay(delay, TimeStamp::Now());
|
||||
if (profiler_thread_is_being_profiled(
|
||||
ThreadProfilingFeatures::Sampling)) {
|
||||
// We'll handle the case of unstarted threads available
|
||||
// when we sample.
|
||||
current->SetRunningEventDelay(delay, TimeStamp::Now());
|
||||
}
|
||||
|
||||
LogRunnable::Run log(event);
|
||||
AUTO_PROFILE_FOLLOWING_RUNNABLE(event);
|
||||
|
Loading…
Reference in New Issue
Block a user