Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(201)

Side by Side Diff: chrome/browser/chromeos/boot_times_loader.cc

Issue 18286004: Move PathExists to base namespace. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/boot_times_loader.h" 5 #include "chrome/browser/chromeos/boot_times_loader.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 191
192 // Reports the collected boot times to UMA if they haven't been 192 // Reports the collected boot times to UMA if they haven't been
193 // reported yet and if metrics collection is enabled. 193 // reported yet and if metrics collection is enabled.
194 static void SendBootTimesToUMA(const BootTimesLoader::BootTimes& boot_times) { 194 static void SendBootTimesToUMA(const BootTimesLoader::BootTimes& boot_times) {
195 // Checks if the times for the most recent boot event have been 195 // Checks if the times for the most recent boot event have been
196 // reported already to avoid sending boot time histogram samples 196 // reported already to avoid sending boot time histogram samples
197 // every time the user logs out. 197 // every time the user logs out.
198 static const base::FilePath::CharType kBootTimesSent[] = 198 static const base::FilePath::CharType kBootTimesSent[] =
199 FPL("/tmp/boot-times-sent"); 199 FPL("/tmp/boot-times-sent");
200 base::FilePath sent(kBootTimesSent); 200 base::FilePath sent(kBootTimesSent);
201 if (file_util::PathExists(sent)) 201 if (base::PathExists(sent))
202 return; 202 return;
203 203
204 UMA_HISTOGRAM_TIMES("BootTime.Total", 204 UMA_HISTOGRAM_TIMES("BootTime.Total",
205 SecondsToTimeDelta(boot_times.total)); 205 SecondsToTimeDelta(boot_times.total));
206 UMA_HISTOGRAM_TIMES("BootTime.Firmware", 206 UMA_HISTOGRAM_TIMES("BootTime.Firmware",
207 SecondsToTimeDelta(boot_times.firmware)); 207 SecondsToTimeDelta(boot_times.firmware));
208 UMA_HISTOGRAM_TIMES("BootTime.Kernel", 208 UMA_HISTOGRAM_TIMES("BootTime.Kernel",
209 SecondsToTimeDelta(boot_times.pre_startup)); 209 SecondsToTimeDelta(boot_times.pre_startup));
210 UMA_HISTOGRAM_TIMES("BootTime.System", 210 UMA_HISTOGRAM_TIMES("BootTime.System",
211 SecondsToTimeDelta(boot_times.system)); 211 SecondsToTimeDelta(boot_times.system));
212 if (boot_times.chrome > 0) { 212 if (boot_times.chrome > 0) {
213 UMA_HISTOGRAM_TIMES("BootTime.Chrome", 213 UMA_HISTOGRAM_TIMES("BootTime.Chrome",
214 SecondsToTimeDelta(boot_times.chrome)); 214 SecondsToTimeDelta(boot_times.chrome));
215 } 215 }
216 216
217 // Stores the boot times to a file in /tmp to indicate that the 217 // Stores the boot times to a file in /tmp to indicate that the
218 // times for the most recent boot event have been reported 218 // times for the most recent boot event have been reported
219 // already. The file will be deleted at system shutdown/reboot. 219 // already. The file will be deleted at system shutdown/reboot.
220 std::string boot_times_text = base::StringPrintf("total: %.2f\n" 220 std::string boot_times_text = base::StringPrintf("total: %.2f\n"
221 "firmware: %.2f\n" 221 "firmware: %.2f\n"
222 "kernel: %.2f\n" 222 "kernel: %.2f\n"
223 "system: %.2f\n" 223 "system: %.2f\n"
224 "chrome: %.2f\n", 224 "chrome: %.2f\n",
225 boot_times.total, 225 boot_times.total,
226 boot_times.firmware, 226 boot_times.firmware,
227 boot_times.pre_startup, 227 boot_times.pre_startup,
228 boot_times.system, 228 boot_times.system,
229 boot_times.chrome); 229 boot_times.chrome);
230 file_util::WriteFile(sent, boot_times_text.data(), boot_times_text.size()); 230 file_util::WriteFile(sent, boot_times_text.data(), boot_times_text.size());
231 DCHECK(file_util::PathExists(sent)); 231 DCHECK(base::PathExists(sent));
232 } 232 }
233 233
234 void BootTimesLoader::Backend::GetBootTimesAndRunCallback( 234 void BootTimesLoader::Backend::GetBootTimesAndRunCallback(
235 const CancelableTaskTracker::IsCanceledCallback& is_canceled_cb, 235 const CancelableTaskTracker::IsCanceledCallback& is_canceled_cb,
236 const GetBootTimesCallback& callback) { 236 const GetBootTimesCallback& callback) {
237 if (is_canceled_cb.Run()) 237 if (is_canceled_cb.Run())
238 return; 238 return;
239 239
240 const base::FilePath::CharType kFirmwareBootTime[] = 240 const base::FilePath::CharType kFirmwareBootTime[] =
241 FPL("firmware-boot-time"); 241 FPL("firmware-boot-time");
242 const base::FilePath::CharType kPreStartup[] = FPL("pre-startup"); 242 const base::FilePath::CharType kPreStartup[] = FPL("pre-startup");
243 const base::FilePath::CharType kChromeExec[] = FPL("chrome-exec"); 243 const base::FilePath::CharType kChromeExec[] = FPL("chrome-exec");
244 const base::FilePath::CharType kChromeMain[] = FPL("chrome-main"); 244 const base::FilePath::CharType kChromeMain[] = FPL("chrome-main");
245 const base::FilePath::CharType kXStarted[] = FPL("x-started"); 245 const base::FilePath::CharType kXStarted[] = FPL("x-started");
246 const base::FilePath::CharType kLoginPromptReady[] = 246 const base::FilePath::CharType kLoginPromptReady[] =
247 FPL("login-prompt-ready"); 247 FPL("login-prompt-ready");
248 const base::FilePath::StringType uptime_prefix = kUptimePrefix; 248 const base::FilePath::StringType uptime_prefix = kUptimePrefix;
249 249
250 // Wait until firmware-boot-time file exists by reposting. 250 // Wait until firmware-boot-time file exists by reposting.
251 base::FilePath log_dir(kLogPath); 251 base::FilePath log_dir(kLogPath);
252 base::FilePath log_file = log_dir.Append(kFirmwareBootTime); 252 base::FilePath log_file = log_dir.Append(kFirmwareBootTime);
253 if (!file_util::PathExists(log_file)) { 253 if (!base::PathExists(log_file)) {
254 BrowserThread::PostDelayedTask( 254 BrowserThread::PostDelayedTask(
255 BrowserThread::FILE, 255 BrowserThread::FILE,
256 FROM_HERE, 256 FROM_HERE,
257 base::Bind(&Backend::GetBootTimesAndRunCallback, 257 base::Bind(&Backend::GetBootTimesAndRunCallback,
258 this, is_canceled_cb, callback), 258 this, is_canceled_cb, callback),
259 base::TimeDelta::FromMilliseconds(kReadAttemptDelayMs)); 259 base::TimeDelta::FromMilliseconds(kReadAttemptDelayMs));
260 return; 260 return;
261 } 261 }
262 262
263 BootTimes boot_times; 263 BootTimes boot_times;
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 GetRenderWidgetHost(&web_contents->GetController()); 537 GetRenderWidgetHost(&web_contents->GetController());
538 render_widget_hosts_loading_.erase(render_widget_host); 538 render_widget_hosts_loading_.erase(render_widget_host);
539 break; 539 break;
540 } 540 }
541 default: 541 default:
542 break; 542 break;
543 } 543 }
544 } 544 }
545 545
546 } // namespace chromeos 546 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/app_mode/kiosk_app_data.cc ('k') | chrome/browser/chromeos/drive/fake_file_system.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698