| // Copyright 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_BROWSER_DIAGNOSTICS_DIAGNOSTICS_METRICS_H_ |
| #define CHROME_BROWSER_DIAGNOSTICS_DIAGNOSTICS_METRICS_H_ |
| |
| #include <string> |
| |
| namespace diagnostics { |
| |
| // Test IDs used to indicate in UMA stats which diagnostics fail, and also to |
| // look up string identifiers for tests. If you add an ID here, you will also |
| // need to add corresponding strings to several things in the .cc file. |
| enum DiagnosticsTestId { |
| DIAGNOSTICS_CONFLICTING_DLLS_TEST, |
| DIAGNOSTICS_DISK_SPACE_TEST, |
| DIAGNOSTICS_INSTALL_TYPE_TEST, |
| DIAGNOSTICS_JSON_BOOKMARKS_TEST, |
| DIAGNOSTICS_JSON_LOCAL_STATE_TEST, |
| DIAGNOSTICS_JSON_PREFERENCES_TEST, |
| DIAGNOSTICS_OPERATING_SYSTEM_TEST, |
| DIAGNOSTICS_PATH_DICTIONARIES_TEST, |
| DIAGNOSTICS_PATH_LOCAL_STATE_TEST, |
| DIAGNOSTICS_PATH_RESOURCES_TEST, |
| DIAGNOSTICS_PATH_USER_DATA_TEST, |
| DIAGNOSTICS_VERSION_TEST, |
| DIAGNOSTICS_SQLITE_INTEGRITY_APP_CACHE_TEST, |
| DIAGNOSTICS_SQLITE_INTEGRITY_ARCHIVED_HISTORY_TEST_OBSOLETE, |
| DIAGNOSTICS_SQLITE_INTEGRITY_COOKIE_TEST, |
| DIAGNOSTICS_SQLITE_INTEGRITY_DATABASE_TRACKER_TEST, |
| DIAGNOSTICS_SQLITE_INTEGRITY_HISTORY_TEST, |
| DIAGNOSTICS_SQLITE_INTEGRITY_NSS_CERT_TEST, |
| DIAGNOSTICS_SQLITE_INTEGRITY_NSS_KEY_TEST, |
| DIAGNOSTICS_SQLITE_INTEGRITY_THUMBNAILS_TEST, |
| DIAGNOSTICS_SQLITE_INTEGRITY_WEB_DATA_TEST, |
| // Add new entries immediately above this comment. Do not reorder or renumber |
| // the entries, as they are tied to historical enum values in the UMA stats. |
| // If you add an entry, you will need to also add an entry to kTestNameInfo, |
| // and to the TEST_CASES macro in the .cc. |
| |
| // This must always be last in the list. |
| DIAGNOSTICS_TEST_ID_COUNT |
| }; |
| |
| // Enumeration of metrics for UMA recording of recovery runs. |
| enum RecoveryRunMetrics { |
| RECOVERY_NOT_RUN, |
| RECOVERY_CRASH_RUN, |
| RECOVERY_USER_RUN, |
| // Add new items above this line. |
| RECOVERY_RUN_METRICS_COUNT |
| }; |
| |
| // Possible enum values for individual test metrics. |
| enum RunResultMetrics { |
| RESULT_NOT_RUN, |
| RESULT_SUCCESS, |
| RESULT_FAILURE, |
| RESULT_SKIPPED, |
| // Add new items above this line. |
| RESULT_COUNT |
| }; |
| |
| // Returns the string identifier of a test |id|. It will only contain |
| // characters [A-Za-z0-9] with no spaces. |
| std::string GetTestName(DiagnosticsTestId id); |
| |
| // Returns the string description of a test |id|. This is not a localized |
| // string. It is only meant for developer consumption, because this function |
| // will be called before the localization services are initialized. |
| std::string GetTestDescription(DiagnosticsTestId id); |
| |
| // These record an UMA metric for the given test or recovery operation. |
| void RecordUMARecoveryResult(DiagnosticsTestId id, RunResultMetrics result); |
| void RecordUMATestResult(DiagnosticsTestId id, RunResultMetrics result); |
| |
| } // namespace diagnostics |
| |
| #endif // CHROME_BROWSER_DIAGNOSTICS_DIAGNOSTICS_METRICS_H_ |