blob: c484aeb23f64e24b6f114988d3a38fb071014921 [file] [log] [blame]
// 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_