// Copyright 2014 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "components/metrics/metrics_switches.h" #include "base/check.h" #include "base/command_line.h" namespace metrics { namespace switches { // Enables the observing of all UMA logs created during the session and // automatically exports them to the passed file path on shutdown (the file is // created if it does not already exist). This also enables viewing all UMA logs // in the chrome://metrics-internals debug page. The format of the exported file // is outlined in MetricsServiceObserver::ExportLogsAsJson(). // Example usage: --export-uma-logs-to-file=/tmp/logs.json const char kExportUmaLogsToFile[] = …; // Forces metrics reporting to be enabled. Should not be used for tests as it // will send data to servers. const char kForceEnableMetricsReporting[] = …; // Forces MSBB setting to be on for UKM recording. Should only be used in // automated testing browser sessions in which it is infeasible or impractical // to toggle the setting manually. const char kForceMsbbSettingOnForUkm[] = …; // Enables the recording of metrics reports but disables reporting. In contrast // to kForceEnableMetricsReporting, this executes all the code that a normal // client would use for reporting, except the report is dropped rather than sent // to the server. This is useful for finding issues in the metrics code during // UI and performance tests. const char kMetricsRecordingOnly[] = …; // Override the standard time interval between each metrics report upload for // UMA and UKM. It is useful to set to a short interval for debugging. Unit in // seconds. (The default is 1800 seconds on desktop). const char kMetricsUploadIntervalSec[] = …; // Forces a reset of the one-time-randomized FieldTrials on this client, also // known as the Chrome Variations state. const char kResetVariationState[] = …; // Overrides the URL of the server that UKM reports are uploaded to. This can // only be used in debug builds. const char kUkmServerUrl[] = …; // Overrides the URL of the server that UMA reports are uploaded to. This can // only be used in debug builds. const char kUmaServerUrl[] = …; // Overrides the URL of the server that UMA reports are uploaded to when the // connection to the default secure URL fails (see |kUmaServerUrl|). This can // only be used in debug builds. const char kUmaInsecureServerUrl[] = …; } // namespace switches bool IsMetricsRecordingOnlyEnabled() { … } bool IsMetricsReportingForceEnabled() { … } bool IsMsbbSettingForcedOnForUkm() { … } void EnableMetricsRecordingOnlyForTesting(base::CommandLine* command_line) { … } void ForceEnableMetricsReportingForTesting() { … } } // namespace metrics