diff options
Diffstat (limited to 'chromium/components/metrics/metrics_service.cc')
-rw-r--r-- | chromium/components/metrics/metrics_service.cc | 18 |
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(); |