Use buildtime to ensure stability stats
r=huanr
Review URL: http://codereview.chromium.org/548058
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36549 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/metrics/metrics_log.cc b/chrome/browser/metrics/metrics_log.cc
index 47869236..4ce5273 100644
--- a/chrome/browser/metrics/metrics_log.cc
+++ b/chrome/browser/metrics/metrics_log.cc
@@ -38,8 +38,6 @@
return reinterpret_cast<const unsigned char*>(input);
}
-static int64 GetBuildTime();
-
// static
void MetricsLog::RegisterPrefs(PrefService* local_state) {
local_state->RegisterListPref(prefs::kStabilityPluginStats);
@@ -316,6 +314,19 @@
return std::string();
}
+// static
+int64 MetricsLog::GetBuildTime() {
+ static int64 integral_build_time = 0;
+ if (!integral_build_time) {
+ Time time;
+ const char* kDateTime = __DATE__ " " __TIME__ " GMT";
+ bool result = Time::FromString(ASCIIToWide(kDateTime).c_str(), &time);
+ DCHECK(result);
+ integral_build_time = static_cast<int64>(time.ToTimeT());
+ }
+ return integral_build_time;
+}
+
std::string MetricsLog::GetInstallDate() const {
PrefService* pref = g_browser_process->local_state();
if (pref) {
@@ -713,11 +724,3 @@
}
}
}
-
-static int64 GetBuildTime() {
- Time parsed_time;
- const char* kDateTime = __DATE__ " " __TIME__ " GMT";
- bool result = Time::FromString(ASCIIToWide(kDateTime).c_str(), &parsed_time);
- DCHECK(result);
- return static_cast<int64>(parsed_time.ToTimeT());
-}