Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(266)

Side by Side Diff: third_party/WebKit/Source/platform/scheduler/renderer/renderer_scheduler_impl.cc

Issue 2788013003: Expected Queueing Time Metric ignores tasks with nested message loops. (Closed)
Patch Set: Address nits Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "platform/scheduler/renderer/renderer_scheduler_impl.h" 5 #include "platform/scheduler/renderer/renderer_scheduler_impl.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/debug/stack_trace.h" 8 #include "base/debug/stack_trace.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 1767 matching lines...) Expand 10 before | Expand all | Expand 10 after
1778 start_time_ticks, end_time_ticks); 1778 start_time_ticks, end_time_ticks);
1779 // TODO(altimin): Per-page metrics should also be considered. 1779 // TODO(altimin): Per-page metrics should also be considered.
1780 UMA_HISTOGRAM_CUSTOM_COUNTS( 1780 UMA_HISTOGRAM_CUSTOM_COUNTS(
1781 "RendererScheduler.TaskTime", 1781 "RendererScheduler.TaskTime",
1782 (end_time_ticks - start_time_ticks).InMicroseconds(), 1, 1000000, 50); 1782 (end_time_ticks - start_time_ticks).InMicroseconds(), 1, 1000000, 50);
1783 UMA_HISTOGRAM_ENUMERATION("RendererScheduler.NumberOfTasksPerQueueType", 1783 UMA_HISTOGRAM_ENUMERATION("RendererScheduler.NumberOfTasksPerQueueType",
1784 static_cast<int>(task_queue->GetQueueType()), 1784 static_cast<int>(task_queue->GetQueueType()),
1785 static_cast<int>(TaskQueue::QueueType::COUNT)); 1785 static_cast<int>(TaskQueue::QueueType::COUNT));
1786 } 1786 }
1787 1787
1788 void RendererSchedulerImpl::onBeginNestedMessageLoop() {
1789 seqlock_queueing_time_estimator_.seqlock.WriteBegin();
1790 seqlock_queueing_time_estimator_.data.OnBeginNestedMessageLoop();
1791 seqlock_queueing_time_estimator_.seqlock.WriteEnd();
1792 }
1793
1788 void RendererSchedulerImpl::AddTaskTimeObserver( 1794 void RendererSchedulerImpl::AddTaskTimeObserver(
1789 TaskTimeObserver* task_time_observer) { 1795 TaskTimeObserver* task_time_observer) {
1790 helper_.AddTaskTimeObserver(task_time_observer); 1796 helper_.AddTaskTimeObserver(task_time_observer);
1791 } 1797 }
1792 1798
1793 void RendererSchedulerImpl::RemoveTaskTimeObserver( 1799 void RendererSchedulerImpl::RemoveTaskTimeObserver(
1794 TaskTimeObserver* task_time_observer) { 1800 TaskTimeObserver* task_time_observer) {
1795 helper_.RemoveTaskTimeObserver(task_time_observer); 1801 helper_.RemoveTaskTimeObserver(task_time_observer);
1796 } 1802 }
1797 1803
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
1913 case TimeDomainType::VIRTUAL: 1919 case TimeDomainType::VIRTUAL:
1914 return "virtual"; 1920 return "virtual";
1915 default: 1921 default:
1916 NOTREACHED(); 1922 NOTREACHED();
1917 return nullptr; 1923 return nullptr;
1918 } 1924 }
1919 } 1925 }
1920 1926
1921 } // namespace scheduler 1927 } // namespace scheduler
1922 } // namespace blink 1928 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698