Index: components/metrics/metrics_service.cc |
diff --git a/components/metrics/metrics_service.cc b/components/metrics/metrics_service.cc |
index 66ee1ced355ca87a5638100942f153592ad07ff1..b9d8dbbf0d3f99b8db8948d7a9fa4ceda2779b16 100644 |
--- a/components/metrics/metrics_service.cc |
+++ b/components/metrics/metrics_service.cc |
@@ -286,6 +286,8 @@ void MetricsService::RegisterPrefs(PrefRegistrySimple* registry) { |
metrics::MetricsStateManager::RegisterPrefs(registry); |
MetricsLog::RegisterPrefs(registry); |
+ registry->RegisterInt64Pref(metrics::prefs::kInstallDate, 0); |
+ |
registry->RegisterInt64Pref(metrics::prefs::kStabilityLaunchTimeSec, 0); |
registry->RegisterInt64Pref(metrics::prefs::kStabilityLastTimestampSec, 0); |
registry->RegisterStringPref(metrics::prefs::kStabilityStatsVersion, |
@@ -383,6 +385,10 @@ std::string MetricsService::GetClientId() { |
return state_manager_->client_id(); |
} |
+int64 MetricsService::GetInstallDate() { |
+ return local_state_->GetInt64(metrics::prefs::kInstallDate); |
+} |
+ |
scoped_ptr<const base::FieldTrial::EntropyProvider> |
MetricsService::CreateEntropyProvider() { |
// TODO(asvitkine): Refactor the code so that MetricsService does not expose |
@@ -740,7 +746,8 @@ void MetricsService::CloseCurrentLog() { |
DCHECK(current_log); |
std::vector<variations::ActiveGroupId> synthetic_trials; |
GetCurrentSyntheticFieldTrials(&synthetic_trials); |
- current_log->RecordEnvironment(metrics_providers_.get(), synthetic_trials); |
+ current_log->RecordEnvironment( |
+ metrics_providers_.get(), synthetic_trials, GetInstallDate()); |
base::TimeDelta incremental_uptime; |
base::TimeDelta uptime; |
GetUptimes(local_state_, &incremental_uptime, &uptime); |
@@ -953,7 +960,8 @@ void MetricsService::PrepareInitialMetricsLog() { |
std::vector<variations::ActiveGroupId> synthetic_trials; |
GetCurrentSyntheticFieldTrials(&synthetic_trials); |
initial_metrics_log_->RecordEnvironment(metrics_providers_.get(), |
- synthetic_trials); |
+ synthetic_trials, |
+ GetInstallDate()); |
base::TimeDelta incremental_uptime; |
base::TimeDelta uptime; |
GetUptimes(local_state_, &incremental_uptime, &uptime); |