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

Side by Side Diff: third_party/WebKit/Source/core/dom/ScriptedIdleTaskController.cpp

Issue 1659053002: Remove custom counts histogram from the blink API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix a few thread_safe_static_local -> static_local as per feedback in reviews Created 4 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "core/dom/ScriptedIdleTaskController.h" 5 #include "core/dom/ScriptedIdleTaskController.h"
6 6
7 #include "core/dom/ExecutionContext.h" 7 #include "core/dom/ExecutionContext.h"
8 #include "core/dom/IdleRequestCallback.h" 8 #include "core/dom/IdleRequestCallback.h"
9 #include "core/dom/IdleRequestOptions.h" 9 #include "core/dom/IdleRequestOptions.h"
10 #include "core/inspector/InspectorTraceEvents.h" 10 #include "core/inspector/InspectorTraceEvents.h"
11 #include "platform/Histogram.h"
11 #include "platform/Logging.h" 12 #include "platform/Logging.h"
12 #include "platform/TraceEvent.h" 13 #include "platform/TraceEvent.h"
13 #include "public/platform/Platform.h" 14 #include "public/platform/Platform.h"
14 #include "public/platform/WebScheduler.h" 15 #include "public/platform/WebScheduler.h"
15 #include "public/platform/WebTraceLocation.h" 16 #include "public/platform/WebTraceLocation.h"
16 #include "wtf/CurrentTime.h" 17 #include "wtf/CurrentTime.h"
17 #include "wtf/Functional.h" 18 #include "wtf/Functional.h"
18 19
19 namespace blink { 20 namespace blink {
20 21
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 } 115 }
115 116
116 void ScriptedIdleTaskController::runCallback(CallbackId id, double deadlineSecon ds, IdleDeadline::CallbackType callbackType) 117 void ScriptedIdleTaskController::runCallback(CallbackId id, double deadlineSecon ds, IdleDeadline::CallbackType callbackType)
117 { 118 {
118 ASSERT(!m_suspended); 119 ASSERT(!m_suspended);
119 auto callback = m_callbacks.take(id); 120 auto callback = m_callbacks.take(id);
120 if (!callback) 121 if (!callback)
121 return; 122 return;
122 123
123 double allottedTimeMillis = std::max((deadlineSeconds - monotonicallyIncreas ingTime()) * 1000, 0.0); 124 double allottedTimeMillis = std::max((deadlineSeconds - monotonicallyIncreas ingTime()) * 1000, 0.0);
124 Platform::current()->histogramCustomCounts("WebCore.ScriptedIdleTaskControll er.IdleCallbackDeadline", allottedTimeMillis, 0, 50, 50); 125
126 DEFINE_STATIC_LOCAL(CustomCountHistogram, idleCallbackDeadlineHistogram, ("W ebCore.ScriptedIdleTaskController.IdleCallbackDeadline", 0, 50, 50));
127 idleCallbackDeadlineHistogram.count(allottedTimeMillis);
125 128
126 TRACE_EVENT1("devtools.timeline", "FireIdleCallback", 129 TRACE_EVENT1("devtools.timeline", "FireIdleCallback",
127 "data", InspectorIdleCallbackFireEvent::data(executionContext(), id, all ottedTimeMillis, callbackType == IdleDeadline::CallbackType::CalledByTimeout)); 130 "data", InspectorIdleCallbackFireEvent::data(executionContext(), id, all ottedTimeMillis, callbackType == IdleDeadline::CallbackType::CalledByTimeout));
128 callback->handleEvent(IdleDeadline::create(deadlineSeconds, callbackType)); 131 callback->handleEvent(IdleDeadline::create(deadlineSeconds, callbackType));
129 132
130 double overrunMillis = std::max((monotonicallyIncreasingTime() - deadlineSec onds) * 1000, 0.0); 133 double overrunMillis = std::max((monotonicallyIncreasingTime() - deadlineSec onds) * 1000, 0.0);
131 Platform::current()->histogramCustomCounts("WebCore.ScriptedIdleTaskControll er.IdleCallbackOverrun", overrunMillis, 0, 10000, 50); 134
135 DEFINE_STATIC_LOCAL(CustomCountHistogram, idleCallbackOverrunHistogram, ("We bCore.ScriptedIdleTaskController.IdleCallbackOverrun", 0, 10000, 50));
136 idleCallbackOverrunHistogram.count(overrunMillis);
132 } 137 }
133 138
134 void ScriptedIdleTaskController::stop() 139 void ScriptedIdleTaskController::stop()
135 { 140 {
136 m_callbacks.clear(); 141 m_callbacks.clear();
137 } 142 }
138 143
139 void ScriptedIdleTaskController::suspend() 144 void ScriptedIdleTaskController::suspend()
140 { 145 {
141 m_suspended = true; 146 m_suspended = true;
(...skipping 11 matching lines...) Expand all
153 runCallback(id, monotonicallyIncreasingTime(), IdleDeadline::CallbackTyp e::CalledByTimeout); 158 runCallback(id, monotonicallyIncreasingTime(), IdleDeadline::CallbackTyp e::CalledByTimeout);
154 159
155 // Repost idle tasks for any remaining callbacks. 160 // Repost idle tasks for any remaining callbacks.
156 for (auto& callback : m_callbacks) { 161 for (auto& callback : m_callbacks) {
157 RefPtr<internal::IdleRequestCallbackWrapper> callbackWrapper = internal: :IdleRequestCallbackWrapper::create(callback.key, this); 162 RefPtr<internal::IdleRequestCallbackWrapper> callbackWrapper = internal: :IdleRequestCallbackWrapper::create(callback.key, this);
158 m_scheduler->postIdleTask(BLINK_FROM_HERE, WTF::bind<double>(&internal:: IdleRequestCallbackWrapper::idleTaskFired, callbackWrapper)); 163 m_scheduler->postIdleTask(BLINK_FROM_HERE, WTF::bind<double>(&internal:: IdleRequestCallbackWrapper::idleTaskFired, callbackWrapper));
159 } 164 }
160 } 165 }
161 166
162 } // namespace blink 167 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698