OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 service that collects information about the user | 5 // This file defines a service that collects information about the user |
6 // experience in order to help improve future versions of the app. | 6 // experience in order to help improve future versions of the app. |
7 | 7 |
8 #ifndef CHROME_BROWSER_METRICS_METRICS_SERVICE_H_ | 8 #ifndef CHROME_BROWSER_METRICS_METRICS_SERVICE_H_ |
9 #define CHROME_BROWSER_METRICS_METRICS_SERVICE_H_ | 9 #define CHROME_BROWSER_METRICS_METRICS_SERVICE_H_ |
10 #pragma once | 10 #pragma once |
11 | 11 |
12 #include <map> | 12 #include <map> |
13 #include <string> | 13 #include <string> |
14 #include <vector> | 14 #include <vector> |
15 | 15 |
16 #include "base/basictypes.h" | 16 #include "base/basictypes.h" |
17 #include "base/gtest_prod_util.h" | 17 #include "base/gtest_prod_util.h" |
18 #include "base/memory/scoped_ptr.h" | 18 #include "base/memory/scoped_ptr.h" |
| 19 #include "base/process_util.h" |
19 #include "chrome/browser/io_thread.h" | 20 #include "chrome/browser/io_thread.h" |
20 #include "chrome/common/metrics_helpers.h" | 21 #include "chrome/common/metrics_helpers.h" |
21 #include "content/common/notification_observer.h" | 22 #include "content/common/notification_observer.h" |
22 #include "content/common/notification_registrar.h" | 23 #include "content/common/notification_registrar.h" |
23 #include "content/common/net/url_fetcher.h" | 24 #include "content/common/net/url_fetcher.h" |
24 | 25 |
25 #if defined(OS_CHROMEOS) | 26 #if defined(OS_CHROMEOS) |
26 #include "chrome/browser/chromeos/external_metrics.h" | 27 #include "chrome/browser/chromeos/external_metrics.h" |
27 #endif | 28 #endif |
28 | 29 |
29 class BookmarkModel; | 30 class BookmarkModel; |
30 class BookmarkNode; | 31 class BookmarkNode; |
31 class HistogramSynchronizer; | 32 class HistogramSynchronizer; |
32 class MetricsLogBase; | 33 class MetricsLogBase; |
33 class MetricsReportingScheduler; | 34 class MetricsReportingScheduler; |
34 class PrefService; | 35 class PrefService; |
35 class Profile; | 36 class Profile; |
| 37 class RenderProcessHost; |
36 class TemplateURLService; | 38 class TemplateURLService; |
37 | 39 |
38 namespace base { | 40 namespace base { |
39 class DictionaryValue; | 41 class DictionaryValue; |
40 class MessageLoopProxy; | 42 class MessageLoopProxy; |
41 } | 43 } |
42 | 44 |
43 namespace prerender { | 45 namespace prerender { |
44 bool IsOmniboxEnabled(Profile* profile); | 46 bool IsOmniboxEnabled(Profile* profile); |
45 } | 47 } |
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
246 const NotificationDetails& details); | 248 const NotificationDetails& details); |
247 | 249 |
248 // Reads, increments and then sets the specified integer preference. | 250 // Reads, increments and then sets the specified integer preference. |
249 void IncrementPrefValue(const char* path); | 251 void IncrementPrefValue(const char* path); |
250 | 252 |
251 // Reads, increments and then sets the specified long preference that is | 253 // Reads, increments and then sets the specified long preference that is |
252 // stored as a string. | 254 // stored as a string. |
253 void IncrementLongPrefsValue(const char* path); | 255 void IncrementLongPrefsValue(const char* path); |
254 | 256 |
255 // Records a renderer process crash. | 257 // Records a renderer process crash. |
256 void LogRendererCrash(); | 258 void LogRendererCrash(RenderProcessHost* host, |
257 | 259 base::TerminationStatus status, |
258 // Records an extension renderer process crash. | 260 bool was_alive); |
259 void LogExtensionRendererCrash(); | |
260 | 261 |
261 // Records a renderer process hang. | 262 // Records a renderer process hang. |
262 void LogRendererHang(); | 263 void LogRendererHang(); |
263 | 264 |
264 // Records that the browser was shut down cleanly. | 265 // Records that the browser was shut down cleanly. |
265 void LogCleanShutdown(); | 266 void LogCleanShutdown(); |
266 | 267 |
267 // Set the value in preferences for the number of bookmarks and folders | 268 // Set the value in preferences for the number of bookmarks and folders |
268 // in node. The pref key for the number of bookmarks in num_bookmarks_key and | 269 // in node. The pref key for the number of bookmarks in num_bookmarks_key and |
269 // the pref key for number of folders in num_folders_key. | 270 // the pref key for number of folders in num_folders_key. |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
404 friend class InstantFieldTrial; | 405 friend class InstantFieldTrial; |
405 friend bool prerender::IsOmniboxEnabled(Profile* profile); | 406 friend bool prerender::IsOmniboxEnabled(Profile* profile); |
406 | 407 |
407 // Returns true if prefs::kMetricsReportingEnabled is set. | 408 // Returns true if prefs::kMetricsReportingEnabled is set. |
408 static bool IsMetricsReportingEnabled(); | 409 static bool IsMetricsReportingEnabled(); |
409 | 410 |
410 DISALLOW_IMPLICIT_CONSTRUCTORS(MetricsServiceHelper); | 411 DISALLOW_IMPLICIT_CONSTRUCTORS(MetricsServiceHelper); |
411 }; | 412 }; |
412 | 413 |
413 #endif // CHROME_BROWSER_METRICS_METRICS_SERVICE_H_ | 414 #endif // CHROME_BROWSER_METRICS_METRICS_SERVICE_H_ |
OLD | NEW |