| Index: chrome/browser/metrics/chrome_stability_metrics_provider.h
|
| diff --git a/chrome/browser/metrics/chrome_stability_metrics_provider.h b/chrome/browser/metrics/chrome_stability_metrics_provider.h
|
| index 94da7d2cbbfc41e99205ce8ef07fd72a297d612d..5ac85476dbe04cf1fa9bbcdc0d9e10b8890a15c7 100644
|
| --- a/chrome/browser/metrics/chrome_stability_metrics_provider.h
|
| +++ b/chrome/browser/metrics/chrome_stability_metrics_provider.h
|
| @@ -6,6 +6,7 @@
|
| #define CHROME_BROWSER_METRICS_CHROME_STABILITY_METRICS_PROVIDER_H_
|
|
|
| #include "base/basictypes.h"
|
| +#include "base/gtest_prod_util.h"
|
| #include "base/metrics/user_metrics.h"
|
| #include "base/process/kill.h"
|
| #include "components/metrics/metrics_provider.h"
|
| @@ -20,6 +21,8 @@ class RenderProcessHost;
|
| class WebContents;
|
| }
|
|
|
| +class PrefService;
|
| +
|
| // ChromeStabilityMetricsProvider gathers and logs Chrome-specific stability-
|
| // related metrics.
|
| class ChromeStabilityMetricsProvider
|
| @@ -27,7 +30,7 @@ class ChromeStabilityMetricsProvider
|
| public content::BrowserChildProcessObserver,
|
| public content::NotificationObserver {
|
| public:
|
| - ChromeStabilityMetricsProvider();
|
| + explicit ChromeStabilityMetricsProvider(PrefService* local_state);
|
| ~ChromeStabilityMetricsProvider() override;
|
|
|
| // metrics::MetricsDataProvider:
|
| @@ -41,6 +44,11 @@ class ChromeStabilityMetricsProvider
|
| static void RegisterPrefs(PrefRegistrySimple* registry);
|
|
|
| private:
|
| + FRIEND_TEST_ALL_PREFIXES(ChromeStabilityMetricsProviderTest,
|
| + BrowserChildProcessObserver);
|
| + FRIEND_TEST_ALL_PREFIXES(ChromeStabilityMetricsProviderTest,
|
| + NotificationObserver);
|
| +
|
| // content::NotificationObserver:
|
| void Observe(int type,
|
| const content::NotificationSource& source,
|
| @@ -60,9 +68,17 @@ class ChromeStabilityMetricsProvider
|
| base::TerminationStatus status,
|
| int exit_code);
|
|
|
| + // Increment an Integer pref value specified by |path|.
|
| + void IncrementPrefValue(const char* path);
|
| +
|
| + // Increment a 64-bit Integer pref value specified by |path|.
|
| + void IncrementLongPrefsValue(const char* path);
|
| +
|
| // Records a renderer process hang.
|
| void LogRendererHang();
|
|
|
| + PrefService* local_state_;
|
| +
|
| // Registrar for receiving stability-related notifications.
|
| content::NotificationRegistrar registrar_;
|
|
|
|
|