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_
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
{
51 // Add new items above this line.
52 RECOVERY_RUN_METRICS_COUNT
55 // Possible enum values for individual test metrics.
56 enum RunResultMetrics
{
61 // Add new items above this line.
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_