summaryrefslogtreecommitdiff
path: root/chromium/components/metrics/metrics_service.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/components/metrics/metrics_service.cc')
-rw-r--r--chromium/components/metrics/metrics_service.cc18
1 files changed, 10 insertions, 8 deletions
diff --git a/chromium/components/metrics/metrics_service.cc b/chromium/components/metrics/metrics_service.cc
index 687471a854d..6e3e369a220 100644
--- a/chromium/components/metrics/metrics_service.cc
+++ b/chromium/components/metrics/metrics_service.cc
@@ -219,7 +219,9 @@ MetricsService::MetricsService(MetricsStateManager* state_manager,
test_mode_active_(false),
state_(INITIALIZED),
idle_since_last_transmission_(false),
- session_id_(-1) {
+ session_id_(-1),
+ synthetic_trial_registry_(
+ client->IsExternalExperimentAllowlistEnabled()) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
DCHECK(state_manager_);
DCHECK(client_);
@@ -229,9 +231,6 @@ MetricsService::MetricsService(MetricsStateManager* state_manager,
std::make_unique<StabilityMetricsProvider>(local_state_));
RegisterMetricsProvider(state_manager_->GetProvider());
-
- RegisterMetricsProvider(std::make_unique<variations::FieldTrialsProvider>(
- &synthetic_trial_registry_, base::StringPiece()));
}
MetricsService::~MetricsService() {
@@ -239,6 +238,12 @@ MetricsService::~MetricsService() {
}
void MetricsService::InitializeMetricsRecordingState() {
+ // The FieldTrialsProvider should be registered last. This ensures that
+ // studies whose features are checked when providers add their information to
+ // the log appear in the active field trials.
+ RegisterMetricsProvider(std::make_unique<variations::FieldTrialsProvider>(
+ &synthetic_trial_registry_, base::StringPiece()));
+
reporting_service_.Initialize();
InitializeMetricsState();
@@ -449,10 +454,6 @@ void MetricsService::ClearSavedStabilityMetrics() {
delegating_provider_.ClearSavedStabilityMetrics();
}
-void MetricsService::PushExternalLog(const std::string& log) {
- log_store()->StoreLog(log, MetricsLog::ONGOING_LOG);
-}
-
bool MetricsService::StageCurrentLogForTest() {
CloseCurrentLog();
@@ -539,6 +540,7 @@ void MetricsService::InitializeMetricsState() {
local_state_->SetInteger(prefs::kMetricsSessionID, session_id_);
// Notify stability metrics providers about the launch.
+ UMA_HISTOGRAM_BOOLEAN("UMA.MetricsService.Initialize", true);
provider.LogLaunch();
provider.CheckLastSessionEndCompleted();