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

Side by Side Diff: chrome/browser/metrics/thread_watcher.h

Issue 1114823002: [chrome/browser/metrices] Replace MessageLoopProxy usage with ThreadTaskRunnerHandle (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // This file defines a WatchDog thread that monitors the responsiveness of other 5 // This file defines a WatchDog thread that monitors the responsiveness of other
6 // browser threads like UI, IO, DB, FILE and CACHED threads. It also defines 6 // browser threads like UI, IO, DB, FILE and CACHED threads. It also defines
7 // ThreadWatcher class which performs health check on threads that would like to 7 // ThreadWatcher class which performs health check on threads that would like to
8 // be watched. This file also defines ThreadWatcherList class that has list of 8 // be watched. This file also defines ThreadWatcherList class that has list of
9 // all active ThreadWatcher objects. 9 // all active ThreadWatcher objects.
10 // 10 //
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 #include <string> 46 #include <string>
47 #include <vector> 47 #include <vector>
48 48
49 #include "base/basictypes.h" 49 #include "base/basictypes.h"
50 #include "base/command_line.h" 50 #include "base/command_line.h"
51 #include "base/gtest_prod_util.h" 51 #include "base/gtest_prod_util.h"
52 #include "base/memory/ref_counted.h" 52 #include "base/memory/ref_counted.h"
53 #include "base/memory/weak_ptr.h" 53 #include "base/memory/weak_ptr.h"
54 #include "base/message_loop/message_loop.h" 54 #include "base/message_loop/message_loop.h"
55 #include "base/metrics/histogram.h" 55 #include "base/metrics/histogram.h"
56 #include "base/single_thread_task_runner.h"
56 #include "base/synchronization/lock.h" 57 #include "base/synchronization/lock.h"
57 #include "base/threading/platform_thread.h" 58 #include "base/threading/platform_thread.h"
58 #include "base/threading/thread.h" 59 #include "base/threading/thread.h"
59 #include "base/threading/watchdog.h" 60 #include "base/threading/watchdog.h"
60 #include "base/time/time.h" 61 #include "base/time/time.h"
61 #include "content/public/browser/browser_thread.h" 62 #include "content/public/browser/browser_thread.h"
62 #include "content/public/browser/notification_observer.h" 63 #include "content/public/browser/notification_observer.h"
63 #include "content/public/browser/notification_registrar.h" 64 #include "content/public/browser/notification_registrar.h"
64 65
65 class CustomThreadWatcher; 66 class CustomThreadWatcher;
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
212 bool IsVeryUnresponsive(); 213 bool IsVeryUnresponsive();
213 214
214 // The |thread_id_| of the thread being watched. Only one instance can exist 215 // The |thread_id_| of the thread being watched. Only one instance can exist
215 // for the given |thread_id_| of the thread being watched. 216 // for the given |thread_id_| of the thread being watched.
216 const content::BrowserThread::ID thread_id_; 217 const content::BrowserThread::ID thread_id_;
217 218
218 // The name of the thread being watched. 219 // The name of the thread being watched.
219 const std::string thread_name_; 220 const std::string thread_name_;
220 221
221 // Used to post messages to watched thread. 222 // Used to post messages to watched thread.
222 scoped_refptr<base::MessageLoopProxy> watched_loop_; 223 scoped_refptr<base::SingleThreadTaskRunner> watched_runner_;
223 224
224 // It is the sleep time between the receipt of a pong message back, and the 225 // It is the sleep time between the receipt of a pong message back, and the
225 // sending of another ping message. 226 // sending of another ping message.
226 const base::TimeDelta sleep_time_; 227 const base::TimeDelta sleep_time_;
227 228
228 // It is the duration from sending a ping message, until we check status to be 229 // It is the duration from sending a ping message, until we check status to be
229 // sure a pong message has been returned. 230 // sure a pong message has been returned.
230 const base::TimeDelta unresponsive_time_; 231 const base::TimeDelta unresponsive_time_;
231 232
232 // This is the last time when ping message was sent. 233 // This is the last time when ping message was sent.
(...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after
641 // shutdown_watchdog_ watches for hangs during shutdown. 642 // shutdown_watchdog_ watches for hangs during shutdown.
642 base::Watchdog* shutdown_watchdog_; 643 base::Watchdog* shutdown_watchdog_;
643 644
644 // The |thread_id_| on which this object is constructed. 645 // The |thread_id_| on which this object is constructed.
645 const base::PlatformThreadId thread_id_; 646 const base::PlatformThreadId thread_id_;
646 647
647 DISALLOW_COPY_AND_ASSIGN(ShutdownWatcherHelper); 648 DISALLOW_COPY_AND_ASSIGN(ShutdownWatcherHelper);
648 }; 649 };
649 650
650 #endif // CHROME_BROWSER_METRICS_THREAD_WATCHER_H_ 651 #endif // CHROME_BROWSER_METRICS_THREAD_WATCHER_H_
OLDNEW
« no previous file with comments | « chrome/browser/metrics/plugin_metrics_provider.cc ('k') | chrome/browser/metrics/thread_watcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698