Add ICU message format support
[chromium-blink-merge.git] / chrome / browser / diagnostics / diagnostics_metrics.h
blob67ccd64abaaa4bcc9ffb75ef08521255b0e83ec6
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_DIAGNOSTICS_DIAGNOSTICS_METRICS_H_
6 #define CHROME_BROWSER_DIAGNOSTICS_DIAGNOSTICS_METRICS_H_
8 #include <string>
10 namespace diagnostics {
12 // Test IDs used to indicate in UMA stats which diagnostics fail, and also to
13 // look up string identifiers for tests. If you add an ID here, you will also
14 // need to add corresponding strings to several things in the .cc file.
15 enum DiagnosticsTestId {
16 DIAGNOSTICS_CONFLICTING_DLLS_TEST,
17 DIAGNOSTICS_DISK_SPACE_TEST,
18 DIAGNOSTICS_INSTALL_TYPE_TEST,
19 DIAGNOSTICS_JSON_BOOKMARKS_TEST,
20 DIAGNOSTICS_JSON_LOCAL_STATE_TEST,
21 DIAGNOSTICS_JSON_PREFERENCES_TEST,
22 DIAGNOSTICS_OPERATING_SYSTEM_TEST,
23 DIAGNOSTICS_PATH_DICTIONARIES_TEST,
24 DIAGNOSTICS_PATH_LOCAL_STATE_TEST,
25 DIAGNOSTICS_PATH_RESOURCES_TEST,
26 DIAGNOSTICS_PATH_USER_DATA_TEST,
27 DIAGNOSTICS_VERSION_TEST,
28 DIAGNOSTICS_SQLITE_INTEGRITY_APP_CACHE_TEST,
29 DIAGNOSTICS_SQLITE_INTEGRITY_ARCHIVED_HISTORY_TEST_OBSOLETE,
30 DIAGNOSTICS_SQLITE_INTEGRITY_COOKIE_TEST,
31 DIAGNOSTICS_SQLITE_INTEGRITY_DATABASE_TRACKER_TEST,
32 DIAGNOSTICS_SQLITE_INTEGRITY_HISTORY_TEST,
33 DIAGNOSTICS_SQLITE_INTEGRITY_NSS_CERT_TEST,
34 DIAGNOSTICS_SQLITE_INTEGRITY_NSS_KEY_TEST,
35 DIAGNOSTICS_SQLITE_INTEGRITY_THUMBNAILS_TEST,
36 DIAGNOSTICS_SQLITE_INTEGRITY_WEB_DATA_TEST,
37 // Add new entries immediately above this comment. Do not reorder or renumber
38 // the entries, as they are tied to historical enum values in the UMA stats.
39 // If you add an entry, you will need to also add an entry to kTestNameInfo,
40 // and to the TEST_CASES macro in the .cc.
42 // This must always be last in the list.
43 DIAGNOSTICS_TEST_ID_COUNT
46 // Enumeration of metrics for UMA recording of recovery runs.
47 enum RecoveryRunMetrics {
48 RECOVERY_NOT_RUN,
49 RECOVERY_CRASH_RUN,
50 RECOVERY_USER_RUN,
51 // Add new items above this line.
52 RECOVERY_RUN_METRICS_COUNT
55 // Possible enum values for individual test metrics.
56 enum RunResultMetrics {
57 RESULT_NOT_RUN,
58 RESULT_SUCCESS,
59 RESULT_FAILURE,
60 RESULT_SKIPPED,
61 // Add new items above this line.
62 RESULT_COUNT
65 // Returns the string identifier of a test |id|. It will only contain
66 // characters [A-Za-z0-9] with no spaces.
67 std::string GetTestName(DiagnosticsTestId id);
69 // Returns the string description of a test |id|. This is not a localized
70 // string. It is only meant for developer consumption, because this function
71 // will be called before the localization services are initialized.
72 std::string GetTestDescription(DiagnosticsTestId id);
74 // These record an UMA metric for the given test or recovery operation.
75 void RecordUMARecoveryResult(DiagnosticsTestId id, RunResultMetrics result);
76 void RecordUMATestResult(DiagnosticsTestId id, RunResultMetrics result);
78 } // namespace diagnostics
80 #endif // CHROME_BROWSER_DIAGNOSTICS_DIAGNOSTICS_METRICS_H_