| 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 24c7c1e4b661de5b555f0b183c9db6bafc8178f2..25312c03510fae743d5f134e40b56ac09c2d4cb0 100644
|
| --- a/chrome/browser/performance_monitor/performance_monitor.h
|
| +++ b/chrome/browser/performance_monitor/performance_monitor.h
|
| @@ -9,22 +9,20 @@
|
| #include <memory>
|
| #include <vector>
|
|
|
| +#include "base/lazy_instance.h"
|
| #include "base/macros.h"
|
| #include "base/process/process_handle.h"
|
| #include "base/timer/timer.h"
|
| #include "chrome/browser/performance_monitor/process_metrics_history.h"
|
|
|
| -namespace base {
|
| -template <typename Type>
|
| -struct DefaultSingletonTraits;
|
| -} // namespace base
|
| -
|
| namespace content {
|
| struct ChildProcessData;
|
| }
|
|
|
| namespace performance_monitor {
|
|
|
| +class ProcessMetricsHistory;
|
| +
|
| // PerformanceMonitor is a tool which periodically monitors performance metrics
|
| // for histogram logging and possibly taking action upon noticing serious
|
| // performance degradation.
|
| @@ -38,12 +36,13 @@ class PerformanceMonitor {
|
| void StartGatherCycle();
|
|
|
| private:
|
| - typedef std::map<base::ProcessHandle, ProcessMetricsHistory> MetricsMap;
|
| + friend struct base::DefaultLazyInstanceTraits<PerformanceMonitor>;
|
|
|
| - friend struct base::DefaultSingletonTraits<PerformanceMonitor>;
|
| + using MetricsMap =
|
| + std::map<base::ProcessHandle, std::unique_ptr<ProcessMetricsHistory>>;
|
|
|
| PerformanceMonitor();
|
| - virtual ~PerformanceMonitor();
|
| + ~PerformanceMonitor();
|
|
|
| // Perform any collections that are done on a timed basis.
|
| void DoTimedCollections();
|
|
|