root/chrome/browser/diagnostics/diagnostics_metrics.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


// 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,
  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_

/* [<][>][^][v][top][bottom][index][help] */