// 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. #ifndef COMPONENTS_METRICS_METRICS_SWITCHES_H_ #define COMPONENTS_METRICS_METRICS_SWITCHES_H_ namespace base { class CommandLine; } namespace metrics { namespace switches { // Alphabetical list of switches specific to the metrics component. Document // each in the .cc file. extern const char kExportUmaLogsToFile[]; extern const char kForceEnableMetricsReporting[]; extern const char kMetricsRecordingOnly[]; extern const char kMetricsUploadIntervalSec[]; extern const char kResetVariationState[]; extern const char kUkmServerUrl[]; extern const char kUmaServerUrl[]; extern const char kUmaInsecureServerUrl[]; } // namespace switches // Returns true if `kMetricsRecordingOnly` is on the command line for the // current process. bool IsMetricsRecordingOnlyEnabled(); // Returns true if `kForceEnableMetricsReporting` is on the command line for the // current process. bool IsMetricsReportingForceEnabled(); // Returns true if `kForceMsbbSettingOnForUkm` is on the command line for the // current process. bool IsMsbbSettingForcedOnForUkm(); // Adds `kMetricsRecordingOnly` to `command_line` if not already present. void EnableMetricsRecordingOnlyForTesting(base::CommandLine* command_line); // Adds `kForceEnableMetricsReporting` to the command line for the current // process if not already present. void ForceEnableMetricsReportingForTesting(); } // namespace metrics #endif // COMPONENTS_METRICS_METRICS_SWITCHES_H_