Chromium Code Reviews| Index: chrome/browser/performance_monitor/performance_monitor.h |
| diff --git a/chrome/browser/performance_monitor/performance_monitor.h b/chrome/browser/performance_monitor/performance_monitor.h |
| index 3a900813981989c2b9ab352d7c0db51ab2c35d96..b757d1f679214799948ae7dda5d85e1836002788 100644 |
| --- a/chrome/browser/performance_monitor/performance_monitor.h |
| +++ b/chrome/browser/performance_monitor/performance_monitor.h |
| @@ -6,10 +6,16 @@ |
| #define CHROME_BROWSER_PERFORMANCE_MONITOR_PERFORMANCE_MONITOR_H_ |
| #pragma once |
| +#include <map> |
| +#include <string> |
| + |
| #include "base/callback.h" |
| #include "base/file_path.h" |
| +#include "base/memory/linked_ptr.h" |
| #include "base/memory/scoped_ptr.h" |
| #include "base/memory/singleton.h" |
| +#include "base/process.h" |
| +#include "base/process_util.h" |
| #include "chrome/browser/performance_monitor/database.h" |
| #include "chrome/browser/performance_monitor/event.h" |
| #include "content/public/browser/notification_details.h" |
| @@ -24,6 +30,9 @@ class PerformanceMonitor : public content::NotificationObserver { |
| public: |
| typedef base::Callback<void(const std::string&)> StateValueCallback; |
| + typedef std::map<base::ProcessHandle, |
| + linked_ptr<base::ProcessMetrics> > MetricsMap; |
| + |
| // Set the path which the PerformanceMonitor should use for the database files |
| // constructed. This must be done prior to the initialization of the |
| // PerformanceMonitor. Returns true on success, false on failure (failure |
| @@ -43,6 +52,9 @@ class PerformanceMonitor : public content::NotificationObserver { |
| // it has been updated. If it has, insert an event in the database. |
| void CheckForVersionUpdate(); |
| + // Gathers CPU usage and memory usage of all Chrome processes. |
| + void GatherStatisticsOnBackgroundThread(); |
| + |
| // content::NotificationObserver |
| // Wait for various notifications; insert events into the database upon |
| // occurance. |
| @@ -81,6 +93,19 @@ class PerformanceMonitor : public content::NotificationObserver { |
| void AddEventOnBackgroundThread(scoped_ptr<Event> event); |
| + // Gathers the CPU usage of every process that has been running since the |
| + // last call to GatherStatistics(). |
| + void GatherCPUUsage(); |
| + |
| + // Gathers the memory usage of every process in the current list of processes. |
| + void GatherMemoryUsage(); |
| + |
| + // Updates the ProcessMetrics map with the current list of processes. |
| + void UpdateMetricsMap(); |
| + |
| + |
|
Devlin
2012/07/17 18:07:58
extra newline; also a short comment may be in orde
mitchellwrosen
2012/07/20 19:42:36
Done.
|
| + MetricsMap metrics_map_; |
| + |
| // The location at which the database files are stored; if empty, the database |
| // will default to '<user_data_dir>/performance_monitor_dbs'. |
| FilePath database_path_; |