OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 #include "base/gtest_prod_util.h" | 52 #include "base/gtest_prod_util.h" |
53 #include "base/memory/ref_counted.h" | 53 #include "base/memory/ref_counted.h" |
54 #include "base/memory/scoped_ptr.h" | 54 #include "base/memory/scoped_ptr.h" |
55 #include "base/memory/weak_ptr.h" | 55 #include "base/memory/weak_ptr.h" |
56 #include "base/message_loop.h" | 56 #include "base/message_loop.h" |
57 #include "base/metrics/histogram.h" | 57 #include "base/metrics/histogram.h" |
58 #include "base/synchronization/lock.h" | 58 #include "base/synchronization/lock.h" |
59 #include "base/threading/thread.h" | 59 #include "base/threading/thread.h" |
60 #include "base/threading/watchdog.h" | 60 #include "base/threading/watchdog.h" |
61 #include "base/time.h" | 61 #include "base/time.h" |
62 #include "content/browser/browser_thread.h" | 62 #include "content/public/browser/browser_thread.h" |
63 #include "content/public/browser/notification_observer.h" | 63 #include "content/public/browser/notification_observer.h" |
64 #include "content/public/browser/notification_registrar.h" | 64 #include "content/public/browser/notification_registrar.h" |
65 | 65 |
66 class CustomThreadWatcher; | 66 class CustomThreadWatcher; |
67 class StartupTimeBomb; | 67 class StartupTimeBomb; |
68 class ThreadWatcherList; | 68 class ThreadWatcherList; |
69 class ThreadWatcherObserver; | 69 class ThreadWatcherObserver; |
70 | 70 |
71 // This class performs health check on threads that would like to be watched. | 71 // This class performs health check on threads that would like to be watched. |
72 class ThreadWatcher { | 72 class ThreadWatcher { |
(...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
533 | 533 |
534 DISALLOW_COPY_AND_ASSIGN(ShutdownWatcherHelper); | 534 DISALLOW_COPY_AND_ASSIGN(ShutdownWatcherHelper); |
535 }; | 535 }; |
536 | 536 |
537 // DISABLE_RUNNABLE_METHOD_REFCOUNT is a convenience macro for disabling | 537 // DISABLE_RUNNABLE_METHOD_REFCOUNT is a convenience macro for disabling |
538 // refcounting of ThreadWatcher and ThreadWatcherList classes. | 538 // refcounting of ThreadWatcher and ThreadWatcherList classes. |
539 DISABLE_RUNNABLE_METHOD_REFCOUNT(ThreadWatcher); | 539 DISABLE_RUNNABLE_METHOD_REFCOUNT(ThreadWatcher); |
540 DISABLE_RUNNABLE_METHOD_REFCOUNT(ThreadWatcherList); | 540 DISABLE_RUNNABLE_METHOD_REFCOUNT(ThreadWatcherList); |
541 | 541 |
542 #endif // CHROME_BROWSER_METRICS_THREAD_WATCHER_H_ | 542 #endif // CHROME_BROWSER_METRICS_THREAD_WATCHER_H_ |
OLD | NEW |