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_; |