| OLD | NEW | 
|    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 60 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   71 class StartupTimeBomb; |   71 class StartupTimeBomb; | 
|   72 class ThreadWatcherList; |   72 class ThreadWatcherList; | 
|   73 class ThreadWatcherObserver; |   73 class ThreadWatcherObserver; | 
|   74  |   74  | 
|   75 // This class performs health check on threads that would like to be watched. |   75 // This class performs health check on threads that would like to be watched. | 
|   76 class ThreadWatcher { |   76 class ThreadWatcher { | 
|   77  public: |   77  public: | 
|   78   // base::Bind supports methods with up to 6 parameters. WatchingParams is used |   78   // base::Bind supports methods with up to 6 parameters. WatchingParams is used | 
|   79   // as a workaround that limitation for invoking ThreadWatcher::StartWatching. |   79   // as a workaround that limitation for invoking ThreadWatcher::StartWatching. | 
|   80   struct WatchingParams { |   80   struct WatchingParams { | 
|   81     const content::BrowserThread::ID& thread_id; |   81     content::BrowserThread::ID thread_id; | 
|   82     const std::string& thread_name; |   82     std::string thread_name; | 
|   83     const base::TimeDelta& sleep_time; |   83     base::TimeDelta sleep_time; | 
|   84     const base::TimeDelta& unresponsive_time; |   84     base::TimeDelta unresponsive_time; | 
|   85     uint32_t unresponsive_threshold; |   85     uint32_t unresponsive_threshold; | 
|   86     bool crash_on_hang; |   86     bool crash_on_hang; | 
|   87     uint32_t live_threads_threshold; |   87     uint32_t live_threads_threshold; | 
|   88  |   88  | 
|   89     WatchingParams(const content::BrowserThread::ID& thread_id_in, |   89     WatchingParams(const content::BrowserThread::ID& thread_id_in, | 
|   90                    const std::string& thread_name_in, |   90                    const std::string& thread_name_in, | 
|   91                    const base::TimeDelta& sleep_time_in, |   91                    const base::TimeDelta& sleep_time_in, | 
|   92                    const base::TimeDelta& unresponsive_time_in, |   92                    const base::TimeDelta& unresponsive_time_in, | 
|   93                    uint32_t unresponsive_threshold_in, |   93                    uint32_t unresponsive_threshold_in, | 
|   94                    bool crash_on_hang_in, |   94                    bool crash_on_hang_in, | 
| (...skipping 592 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  687   // shutdown_watchdog_ watches for hangs during shutdown. |  687   // shutdown_watchdog_ watches for hangs during shutdown. | 
|  688   base::Watchdog* shutdown_watchdog_; |  688   base::Watchdog* shutdown_watchdog_; | 
|  689  |  689  | 
|  690   // The |thread_id_| on which this object is constructed. |  690   // The |thread_id_| on which this object is constructed. | 
|  691   const base::PlatformThreadId thread_id_; |  691   const base::PlatformThreadId thread_id_; | 
|  692  |  692  | 
|  693   DISALLOW_COPY_AND_ASSIGN(ShutdownWatcherHelper); |  693   DISALLOW_COPY_AND_ASSIGN(ShutdownWatcherHelper); | 
|  694 }; |  694 }; | 
|  695  |  695  | 
|  696 #endif  // CHROME_BROWSER_METRICS_THREAD_WATCHER_H_ |  696 #endif  // CHROME_BROWSER_METRICS_THREAD_WATCHER_H_ | 
| OLD | NEW |