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

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

Issue 2697643002: [scheduler] Don't report thread load to UMA when throttling is disabled. (Closed)
Patch Set: Created 3 years, 10 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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"
11 #include "base/metrics/histogram_macros.h" 11 #include "base/metrics/histogram_macros.h"
12 #include "base/strings/stringprintf.h" 12 #include "base/strings/stringprintf.h"
13 #include "base/threading/thread_task_runner_handle.h" 13 #include "base/threading/thread_task_runner_handle.h"
14 #include "base/trace_event/trace_event.h" 14 #include "base/trace_event/trace_event.h"
15 #include "base/trace_event/trace_event_argument.h" 15 #include "base/trace_event/trace_event_argument.h"
16 #include "cc/output/begin_frame_args.h" 16 #include "cc/output/begin_frame_args.h"
17 #include "platform/RuntimeEnabledFeatures.h"
17 #include "platform/scheduler/base/real_time_domain.h" 18 #include "platform/scheduler/base/real_time_domain.h"
18 #include "platform/scheduler/base/task_queue_impl.h" 19 #include "platform/scheduler/base/task_queue_impl.h"
19 #include "platform/scheduler/base/task_queue_selector.h" 20 #include "platform/scheduler/base/task_queue_selector.h"
20 #include "platform/scheduler/base/virtual_time_domain.h" 21 #include "platform/scheduler/base/virtual_time_domain.h"
21 #include "platform/scheduler/child/scheduler_tqm_delegate.h" 22 #include "platform/scheduler/child/scheduler_tqm_delegate.h"
22 #include "platform/scheduler/renderer/auto_advancing_virtual_time_domain.h" 23 #include "platform/scheduler/renderer/auto_advancing_virtual_time_domain.h"
23 #include "platform/scheduler/renderer/task_queue_throttler.h" 24 #include "platform/scheduler/renderer/task_queue_throttler.h"
24 #include "platform/scheduler/renderer/web_view_scheduler_impl.h" 25 #include "platform/scheduler/renderer/web_view_scheduler_impl.h"
25 #include "platform/scheduler/renderer/webthread_impl_for_renderer_scheduler.h" 26 #include "platform/scheduler/renderer/webthread_impl_for_renderer_scheduler.h"
26 27
(...skipping 15 matching lines...) Expand all
42 const double kFastCompositingIdleTimeThreshold = .2; 43 const double kFastCompositingIdleTimeThreshold = .2;
43 constexpr base::TimeDelta kThreadLoadTrackerReportingInterval = 44 constexpr base::TimeDelta kThreadLoadTrackerReportingInterval =
44 base::TimeDelta::FromMinutes(1); 45 base::TimeDelta::FromMinutes(1);
45 constexpr base::TimeDelta kThreadLoadTrackerWaitingPeriodBeforeReporting = 46 constexpr base::TimeDelta kThreadLoadTrackerWaitingPeriodBeforeReporting =
46 base::TimeDelta::FromMinutes(2); 47 base::TimeDelta::FromMinutes(2);
47 // We do not throttle anything while audio is played and shortly after that. 48 // We do not throttle anything while audio is played and shortly after that.
48 constexpr base::TimeDelta kThrottlingDelayAfterAudioIsPlayed = 49 constexpr base::TimeDelta kThrottlingDelayAfterAudioIsPlayed =
49 base::TimeDelta::FromSeconds(5); 50 base::TimeDelta::FromSeconds(5);
50 51
51 void ReportForegroundRendererTaskLoad(base::TimeTicks time, double load) { 52 void ReportForegroundRendererTaskLoad(base::TimeTicks time, double load) {
53 if (!blink::RuntimeEnabledFeatures::timerThrottlingForBackgroundTabsEnabled())
54 return;
55
52 int load_percentage = static_cast<int>(load * 100); 56 int load_percentage = static_cast<int>(load * 100);
53 UMA_HISTOGRAM_PERCENTAGE("RendererScheduler.ForegroundRendererMainThreadLoad", 57 UMA_HISTOGRAM_PERCENTAGE("RendererScheduler.ForegroundRendererMainThreadLoad",
54 load_percentage); 58 load_percentage);
55 TRACE_COUNTER1(TRACE_DISABLED_BY_DEFAULT("renderer.scheduler"), 59 TRACE_COUNTER1(TRACE_DISABLED_BY_DEFAULT("renderer.scheduler"),
56 "RendererScheduler.ForegroundRendererLoad", load_percentage); 60 "RendererScheduler.ForegroundRendererLoad", load_percentage);
57 } 61 }
58 62
59 void ReportBackgroundRendererTaskLoad(base::TimeTicks time, double load) { 63 void ReportBackgroundRendererTaskLoad(base::TimeTicks time, double load) {
64 if (!blink::RuntimeEnabledFeatures::timerThrottlingForBackgroundTabsEnabled())
65 return;
66
60 int load_percentage = static_cast<int>(load * 100); 67 int load_percentage = static_cast<int>(load * 100);
61 UMA_HISTOGRAM_PERCENTAGE("RendererScheduler.BackgroundRendererMainThreadLoad", 68 UMA_HISTOGRAM_PERCENTAGE("RendererScheduler.BackgroundRendererMainThreadLoad",
62 load_percentage); 69 load_percentage);
63 TRACE_COUNTER1(TRACE_DISABLED_BY_DEFAULT("renderer.scheduler"), 70 TRACE_COUNTER1(TRACE_DISABLED_BY_DEFAULT("renderer.scheduler"),
64 "RendererScheduler.BackgroundRendererLoad", load_percentage); 71 "RendererScheduler.BackgroundRendererLoad", load_percentage);
65 } 72 }
66 73
67 base::TimeTicks MonotonicTimeInSecondsToTimeTicks( 74 base::TimeTicks MonotonicTimeInSecondsToTimeTicks(
68 double monotonicTimeInSeconds) { 75 double monotonicTimeInSeconds) {
69 return base::TimeTicks() + 76 return base::TimeTicks() +
(...skipping 1813 matching lines...) Expand 10 before | Expand all | Expand 10 after
1883 case TimeDomainType::VIRTUAL: 1890 case TimeDomainType::VIRTUAL:
1884 return "virtual"; 1891 return "virtual";
1885 default: 1892 default:
1886 NOTREACHED(); 1893 NOTREACHED();
1887 return nullptr; 1894 return nullptr;
1888 } 1895 }
1889 } 1896 }
1890 1897
1891 } // namespace scheduler 1898 } // namespace scheduler
1892 } // namespace blink 1899 } // namespace blink
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698