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

Side by Side Diff: chrome/renderer/page_load_histograms.cc

Issue 6883102: Add one-time randomization support for FieldTrial, and the ability to (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge to head. Created 9 years, 7 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/renderer/page_load_histograms.h" 5 #include "chrome/renderer/page_load_histograms.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/metrics/field_trial.h" 8 #include "base/metrics/field_trial.h"
9 #include "base/metrics/histogram.h" 9 #include "base/metrics/histogram.h"
10 #include "base/time.h" 10 #include "base/time.h"
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 PLT_HISTOGRAM("PLT.BeginToFinishDoc_LinkLoadCacheOnly", 263 PLT_HISTOGRAM("PLT.BeginToFinishDoc_LinkLoadCacheOnly",
264 begin_to_finish_doc); 264 begin_to_finish_doc);
265 PLT_HISTOGRAM("PLT.BeginToFinish_LinkLoadCacheOnly", 265 PLT_HISTOGRAM("PLT.BeginToFinish_LinkLoadCacheOnly",
266 begin_to_finish_all_loads); 266 begin_to_finish_all_loads);
267 break; 267 break;
268 default: 268 default:
269 break; 269 break;
270 } 270 }
271 271
272 // Histograms to determine if DNS prefetching has an impact on PLT. 272 // Histograms to determine if DNS prefetching has an impact on PLT.
273 static bool use_dns_histogram(base::FieldTrialList::Find("DnsImpact") && 273 static const bool use_dns_histogram =
274 !base::FieldTrialList::Find("DnsImpact")->group_name().empty()); 274 base::FieldTrialList::TrialExists("DnsImpact");
275 if (use_dns_histogram) { 275 if (use_dns_histogram) {
276 UMA_HISTOGRAM_ENUMERATION( 276 UMA_HISTOGRAM_ENUMERATION(
277 base::FieldTrial::MakeName("PLT.Abandoned", "DnsImpact"), 277 base::FieldTrial::MakeName("PLT.Abandoned", "DnsImpact"),
278 abandoned_page ? 1 : 0, 2); 278 abandoned_page ? 1 : 0, 2);
279 UMA_HISTOGRAM_ENUMERATION( 279 UMA_HISTOGRAM_ENUMERATION(
280 base::FieldTrial::MakeName("PLT.LoadType", "DnsImpact"), 280 base::FieldTrial::MakeName("PLT.LoadType", "DnsImpact"),
281 load_type, NavigationState::kLoadTypeMax); 281 load_type, NavigationState::kLoadTypeMax);
282 switch (load_type) { 282 switch (load_type) {
283 case NavigationState::NORMAL_LOAD: 283 case NavigationState::NORMAL_LOAD:
284 PLT_HISTOGRAM(base::FieldTrial::MakeName( 284 PLT_HISTOGRAM(base::FieldTrial::MakeName(
(...skipping 15 matching lines...) Expand all
300 "PLT.BeginToFinish_LinkLoadStaleOk", "DnsImpact"), 300 "PLT.BeginToFinish_LinkLoadStaleOk", "DnsImpact"),
301 begin_to_finish_all_loads); 301 begin_to_finish_all_loads);
302 break; 302 break;
303 default: 303 default:
304 break; 304 break;
305 } 305 }
306 } 306 }
307 307
308 // Histograms to determine if content prefetching has an impact on PLT. 308 // Histograms to determine if content prefetching has an impact on PLT.
309 static const bool prefetching_fieldtrial = 309 static const bool prefetching_fieldtrial =
310 base::FieldTrialList::Find("Prefetch") && 310 base::FieldTrialList::TrialExists("Prefetch");
311 !base::FieldTrialList::Find("Prefetch")->group_name().empty();
312 if (prefetching_fieldtrial) { 311 if (prefetching_fieldtrial) {
313 if (navigation_state->was_prefetcher()) { 312 if (navigation_state->was_prefetcher()) {
314 PLT_HISTOGRAM(base::FieldTrial::MakeName( 313 PLT_HISTOGRAM(base::FieldTrial::MakeName(
315 "PLT.BeginToFinishDoc_ContentPrefetcher", "Prefetch"), 314 "PLT.BeginToFinishDoc_ContentPrefetcher", "Prefetch"),
316 begin_to_finish_doc); 315 begin_to_finish_doc);
317 PLT_HISTOGRAM(base::FieldTrial::MakeName( 316 PLT_HISTOGRAM(base::FieldTrial::MakeName(
318 "PLT.BeginToFinish_ContentPrefetcher", "Prefetch"), 317 "PLT.BeginToFinish_ContentPrefetcher", "Prefetch"),
319 begin_to_finish_all_loads); 318 begin_to_finish_all_loads);
320 } 319 }
321 if (navigation_state->was_referred_by_prefetcher()) { 320 if (navigation_state->was_referred_by_prefetcher()) {
322 PLT_HISTOGRAM(base::FieldTrial::MakeName( 321 PLT_HISTOGRAM(base::FieldTrial::MakeName(
323 "PLT.BeginToFinishDoc_ContentPrefetcherReferrer", "Prefetch"), 322 "PLT.BeginToFinishDoc_ContentPrefetcherReferrer", "Prefetch"),
324 begin_to_finish_doc); 323 begin_to_finish_doc);
325 PLT_HISTOGRAM(base::FieldTrial::MakeName( 324 PLT_HISTOGRAM(base::FieldTrial::MakeName(
326 "PLT.BeginToFinish_ContentPrefetcherReferrer", "Prefetch"), 325 "PLT.BeginToFinish_ContentPrefetcherReferrer", "Prefetch"),
327 begin_to_finish_all_loads); 326 begin_to_finish_all_loads);
328 } 327 }
329 UMA_HISTOGRAM_ENUMERATION(base::FieldTrial::MakeName( 328 UMA_HISTOGRAM_ENUMERATION(base::FieldTrial::MakeName(
330 "PLT.Abandoned", "Prefetch"), 329 "PLT.Abandoned", "Prefetch"),
331 abandoned_page ? 1 : 0, 2); 330 abandoned_page ? 1 : 0, 2);
332 PLT_HISTOGRAM(base::FieldTrial::MakeName( 331 PLT_HISTOGRAM(base::FieldTrial::MakeName(
333 "PLT.BeginToFinishDoc", "Prefetch"), 332 "PLT.BeginToFinishDoc", "Prefetch"),
334 begin_to_finish_doc); 333 begin_to_finish_doc);
335 PLT_HISTOGRAM(base::FieldTrial::MakeName( 334 PLT_HISTOGRAM(base::FieldTrial::MakeName(
336 "PLT.BeginToFinish", "Prefetch"), 335 "PLT.BeginToFinish", "Prefetch"),
337 begin_to_finish_all_loads); 336 begin_to_finish_all_loads);
338 } 337 }
339 338
340 // Histograms to determine if backup connection jobs have an impact on PLT. 339 // Histograms to determine if backup connection jobs have an impact on PLT.
341 static const bool connect_backup_jobs_fieldtrial( 340 static const bool connect_backup_jobs_fieldtrial =
342 base::FieldTrialList::Find("ConnnectBackupJobs") && 341 base::FieldTrialList::TrialExists("ConnnectBackupJobs");
343 !base::FieldTrialList::Find("ConnnectBackupJobs")->group_name().empty());
344 if (connect_backup_jobs_fieldtrial) { 342 if (connect_backup_jobs_fieldtrial) {
345 UMA_HISTOGRAM_ENUMERATION( 343 UMA_HISTOGRAM_ENUMERATION(
346 base::FieldTrial::MakeName("PLT.Abandoned", "ConnnectBackupJobs"), 344 base::FieldTrial::MakeName("PLT.Abandoned", "ConnnectBackupJobs"),
347 abandoned_page ? 1 : 0, 2); 345 abandoned_page ? 1 : 0, 2);
348 UMA_HISTOGRAM_ENUMERATION( 346 UMA_HISTOGRAM_ENUMERATION(
349 base::FieldTrial::MakeName("PLT.LoadType", "ConnnectBackupJobs"), 347 base::FieldTrial::MakeName("PLT.LoadType", "ConnnectBackupJobs"),
350 load_type, NavigationState::kLoadTypeMax); 348 load_type, NavigationState::kLoadTypeMax);
351 switch (load_type) { 349 switch (load_type) {
352 case NavigationState::NORMAL_LOAD: 350 case NavigationState::NORMAL_LOAD:
353 PLT_HISTOGRAM(base::FieldTrial::MakeName( 351 PLT_HISTOGRAM(base::FieldTrial::MakeName(
(...skipping 17 matching lines...) Expand all
371 break; 369 break;
372 default: 370 default:
373 break; 371 break;
374 } 372 }
375 } 373 }
376 374
377 // Histograms to determine if the number of connections has an 375 // Histograms to determine if the number of connections has an
378 // impact on PLT. 376 // impact on PLT.
379 // TODO(jar): Consider removing the per-link-type versions. We 377 // TODO(jar): Consider removing the per-link-type versions. We
380 // really only need LINK_LOAD_NORMAL and NORMAL_LOAD. 378 // really only need LINK_LOAD_NORMAL and NORMAL_LOAD.
381 static bool use_connection_impact_histogram( 379 static const bool use_connection_impact_histogram =
382 base::FieldTrialList::Find("ConnCountImpact") && 380 base::FieldTrialList::TrialExists("ConnCountImpact");
383 !base::FieldTrialList::Find("ConnCountImpact")->group_name().empty());
384 if (use_connection_impact_histogram) { 381 if (use_connection_impact_histogram) {
385 UMA_HISTOGRAM_ENUMERATION( 382 UMA_HISTOGRAM_ENUMERATION(
386 base::FieldTrial::MakeName("PLT.Abandoned", "ConnCountImpact"), 383 base::FieldTrial::MakeName("PLT.Abandoned", "ConnCountImpact"),
387 abandoned_page ? 1 : 0, 2); 384 abandoned_page ? 1 : 0, 2);
388 switch (load_type) { 385 switch (load_type) {
389 case NavigationState::NORMAL_LOAD: 386 case NavigationState::NORMAL_LOAD:
390 PLT_HISTOGRAM(base::FieldTrial::MakeName( 387 PLT_HISTOGRAM(base::FieldTrial::MakeName(
391 "PLT.BeginToFinish_NormalLoad", "ConnCountImpact"), 388 "PLT.BeginToFinish_NormalLoad", "ConnCountImpact"),
392 begin_to_finish_all_loads); 389 begin_to_finish_all_loads);
393 break; 390 break;
(...skipping 11 matching lines...) Expand all
405 PLT_HISTOGRAM(base::FieldTrial::MakeName( 402 PLT_HISTOGRAM(base::FieldTrial::MakeName(
406 "PLT.BeginToFinish_LinkLoadStaleOk", "ConnCountImpact"), 403 "PLT.BeginToFinish_LinkLoadStaleOk", "ConnCountImpact"),
407 begin_to_finish_all_loads); 404 begin_to_finish_all_loads);
408 break; 405 break;
409 default: 406 default:
410 break; 407 break;
411 } 408 }
412 } 409 }
413 410
414 // Histograms to determine effect of idle socket timeout. 411 // Histograms to determine effect of idle socket timeout.
415 static bool use_idle_socket_timeout_histogram( 412 static const bool use_idle_socket_timeout_histogram =
416 base::FieldTrialList::Find("IdleSktToImpact") && 413 base::FieldTrialList::TrialExists("IdleSktToImpact");
417 !base::FieldTrialList::Find("IdleSktToImpact")->group_name().empty());
418 if (use_idle_socket_timeout_histogram) { 414 if (use_idle_socket_timeout_histogram) {
419 UMA_HISTOGRAM_ENUMERATION( 415 UMA_HISTOGRAM_ENUMERATION(
420 base::FieldTrial::MakeName("PLT.Abandoned", "IdleSktToImpact"), 416 base::FieldTrial::MakeName("PLT.Abandoned", "IdleSktToImpact"),
421 abandoned_page ? 1 : 0, 2); 417 abandoned_page ? 1 : 0, 2);
422 switch (load_type) { 418 switch (load_type) {
423 case NavigationState::NORMAL_LOAD: 419 case NavigationState::NORMAL_LOAD:
424 PLT_HISTOGRAM(base::FieldTrial::MakeName( 420 PLT_HISTOGRAM(base::FieldTrial::MakeName(
425 "PLT.BeginToFinish_NormalLoad", "IdleSktToImpact"), 421 "PLT.BeginToFinish_NormalLoad", "IdleSktToImpact"),
426 begin_to_finish_all_loads); 422 begin_to_finish_all_loads);
427 break; 423 break;
(...skipping 11 matching lines...) Expand all
439 PLT_HISTOGRAM(base::FieldTrial::MakeName( 435 PLT_HISTOGRAM(base::FieldTrial::MakeName(
440 "PLT.BeginToFinish_LinkLoadStaleOk", "IdleSktToImpact"), 436 "PLT.BeginToFinish_LinkLoadStaleOk", "IdleSktToImpact"),
441 begin_to_finish_all_loads); 437 begin_to_finish_all_loads);
442 break; 438 break;
443 default: 439 default:
444 break; 440 break;
445 } 441 }
446 } 442 }
447 443
448 // Histograms to determine effect of number of connections per proxy. 444 // Histograms to determine effect of number of connections per proxy.
449 static bool use_proxy_connection_impact_histogram( 445 static const bool use_proxy_connection_impact_histogram =
450 base::FieldTrialList::Find("ProxyConnectionImpact") && 446 base::FieldTrialList::TrialExists("ProxyConnectionImpact");
451 !base::FieldTrialList::Find(
452 "ProxyConnectionImpact")->group_name().empty());
453 if (use_proxy_connection_impact_histogram) { 447 if (use_proxy_connection_impact_histogram) {
454 UMA_HISTOGRAM_ENUMERATION( 448 UMA_HISTOGRAM_ENUMERATION(
455 base::FieldTrial::MakeName("PLT.Abandoned", "ProxyConnectionImpact"), 449 base::FieldTrial::MakeName("PLT.Abandoned", "ProxyConnectionImpact"),
456 abandoned_page ? 1 : 0, 2); 450 abandoned_page ? 1 : 0, 2);
457 switch (load_type) { 451 switch (load_type) {
458 case NavigationState::NORMAL_LOAD: 452 case NavigationState::NORMAL_LOAD:
459 PLT_HISTOGRAM(base::FieldTrial::MakeName( 453 PLT_HISTOGRAM(base::FieldTrial::MakeName(
460 "PLT.BeginToFinish_NormalLoad", "ProxyConnectionImpact"), 454 "PLT.BeginToFinish_NormalLoad", "ProxyConnectionImpact"),
461 begin_to_finish_all_loads); 455 begin_to_finish_all_loads);
462 break; 456 break;
(...skipping 12 matching lines...) Expand all
475 "PLT.BeginToFinish_LinkLoadStaleOk", "ProxyConnectionImpact"), 469 "PLT.BeginToFinish_LinkLoadStaleOk", "ProxyConnectionImpact"),
476 begin_to_finish_all_loads); 470 begin_to_finish_all_loads);
477 break; 471 break;
478 default: 472 default:
479 break; 473 break;
480 } 474 }
481 } 475 }
482 476
483 // Histograms to determine if SDCH has an impact. 477 // Histograms to determine if SDCH has an impact.
484 // TODO(jar): Consider removing per-link load types and the enumeration. 478 // TODO(jar): Consider removing per-link load types and the enumeration.
485 static bool use_sdch_histogram(base::FieldTrialList::Find("GlobalSdch") && 479 static const bool use_sdch_histogram =
486 !base::FieldTrialList::Find("GlobalSdch")->group_name().empty()); 480 base::FieldTrialList::TrialExists("GlobalSdch");
487 if (use_sdch_histogram) { 481 if (use_sdch_histogram) {
488 UMA_HISTOGRAM_ENUMERATION( 482 UMA_HISTOGRAM_ENUMERATION(
489 base::FieldTrial::MakeName("PLT.LoadType", "GlobalSdch"), 483 base::FieldTrial::MakeName("PLT.LoadType", "GlobalSdch"),
490 load_type, NavigationState::kLoadTypeMax); 484 load_type, NavigationState::kLoadTypeMax);
491 switch (load_type) { 485 switch (load_type) {
492 case NavigationState::NORMAL_LOAD: 486 case NavigationState::NORMAL_LOAD:
493 PLT_HISTOGRAM(base::FieldTrial::MakeName( 487 PLT_HISTOGRAM(base::FieldTrial::MakeName(
494 "PLT.BeginToFinish_NormalLoad", "GlobalSdch"), 488 "PLT.BeginToFinish_NormalLoad", "GlobalSdch"),
495 begin_to_finish_all_loads); 489 begin_to_finish_all_loads);
496 break; 490 break;
(...skipping 16 matching lines...) Expand all
513 PLT_HISTOGRAM(base::FieldTrial::MakeName( 507 PLT_HISTOGRAM(base::FieldTrial::MakeName(
514 "PLT.BeginToFinish_LinkLoadCacheOnly", "GlobalSdch"), 508 "PLT.BeginToFinish_LinkLoadCacheOnly", "GlobalSdch"),
515 begin_to_finish_all_loads); 509 begin_to_finish_all_loads);
516 break; 510 break;
517 default: 511 default:
518 break; 512 break;
519 } 513 }
520 } 514 }
521 515
522 // Histograms to determine if cache size has an impact on PLT. 516 // Histograms to determine if cache size has an impact on PLT.
523 static bool use_cache_histogram1(base::FieldTrialList::Find("CacheSize") && 517 static const bool use_cache_histogram1 =
524 !base::FieldTrialList::Find("CacheSize")->group_name().empty()); 518 base::FieldTrialList::TrialExists("CacheSize");
525 if (use_cache_histogram1 && NavigationState::LINK_LOAD_NORMAL <= load_type && 519 if (use_cache_histogram1 && NavigationState::LINK_LOAD_NORMAL <= load_type &&
526 NavigationState::LINK_LOAD_CACHE_ONLY >= load_type) { 520 NavigationState::LINK_LOAD_CACHE_ONLY >= load_type) {
527 // TODO(mbelshe): Do we really want BeginToFinishDoc here? It seems like 521 // TODO(mbelshe): Do we really want BeginToFinishDoc here? It seems like
528 // StartToFinish or BeginToFinish would be better. 522 // StartToFinish or BeginToFinish would be better.
529 PLT_HISTOGRAM(base::FieldTrial::MakeName( 523 PLT_HISTOGRAM(base::FieldTrial::MakeName(
530 "PLT.BeginToFinishDoc_LinkLoad", "CacheSize"), begin_to_finish_doc); 524 "PLT.BeginToFinishDoc_LinkLoad", "CacheSize"), begin_to_finish_doc);
531 } 525 }
532 526
533 // Histograms to determine if cache throttling has an impact on PLT. 527 // Histograms to determine if cache throttling has an impact on PLT.
534 static bool use_cache_histogram2( 528 static const bool use_cache_histogram2 =
535 base::FieldTrialList::Find("CacheThrottle") && 529 base::FieldTrialList::TrialExists("CacheThrottle");
536 !base::FieldTrialList::Find("CacheThrottle")->group_name().empty());
537 if (use_cache_histogram2) { 530 if (use_cache_histogram2) {
538 UMA_HISTOGRAM_ENUMERATION( 531 UMA_HISTOGRAM_ENUMERATION(
539 base::FieldTrial::MakeName("PLT.Abandoned", "CacheThrottle"), 532 base::FieldTrial::MakeName("PLT.Abandoned", "CacheThrottle"),
540 abandoned_page ? 1 : 0, 2); 533 abandoned_page ? 1 : 0, 2);
541 switch (load_type) { 534 switch (load_type) {
542 case NavigationState::RELOAD: 535 case NavigationState::RELOAD:
543 PLT_HISTOGRAM(base::FieldTrial::MakeName( 536 PLT_HISTOGRAM(base::FieldTrial::MakeName(
544 "PLT.BeginToFinish_Reload", "CacheThrottle"), 537 "PLT.BeginToFinish_Reload", "CacheThrottle"),
545 begin_to_finish_all_loads); 538 begin_to_finish_all_loads);
546 break; 539 break;
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
584 begin_to_finish_all_loads); 577 begin_to_finish_all_loads);
585 } 578 }
586 } 579 }
587 580
588 // For the SPDY field trials, we need to verify that the page loaded was 581 // For the SPDY field trials, we need to verify that the page loaded was
589 // the type we requested: 582 // the type we requested:
590 // if we asked for a SPDY request, we got a SPDY request 583 // if we asked for a SPDY request, we got a SPDY request
591 // if we asked for a HTTP request, we got a HTTP request 584 // if we asked for a HTTP request, we got a HTTP request
592 // Due to spdy version mismatches, it is possible that we ask for SPDY 585 // Due to spdy version mismatches, it is possible that we ask for SPDY
593 // but didn't get SPDY. 586 // but didn't get SPDY.
594 static bool use_spdy_histogram(base::FieldTrialList::Find("SpdyImpact") && 587 static const bool use_spdy_histogram =
595 !base::FieldTrialList::Find("SpdyImpact")->group_name().empty()); 588 base::FieldTrialList::TrialExists("SpdyImpact");
596 if (use_spdy_histogram) { 589 if (use_spdy_histogram) {
597 // We take extra effort to only compute these once. 590 // We take extra effort to only compute these once.
598 static bool in_spdy_trial = base::FieldTrialList::Find( 591 static bool in_spdy_trial = base::FieldTrialList::Find(
599 "SpdyImpact")->group_name() == "npn_with_spdy"; 592 "SpdyImpact")->group_name() == "npn_with_spdy";
600 static bool in_http_trial = base::FieldTrialList::Find( 593 static bool in_http_trial = base::FieldTrialList::Find(
601 "SpdyImpact")->group_name() == "npn_with_http"; 594 "SpdyImpact")->group_name() == "npn_with_http";
602 595
603 bool spdy_trial_success = navigation_state->was_fetched_via_spdy() ? 596 bool spdy_trial_success = navigation_state->was_fetched_via_spdy() ?
604 in_spdy_trial : in_http_trial; 597 in_spdy_trial : in_http_trial;
605 if (spdy_trial_success) { 598 if (spdy_trial_success) {
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
742 abandoned_page ? 1 : 0, 2); 735 abandoned_page ? 1 : 0, 2);
743 } else { 736 } else {
744 DCHECK(scheme_type == URLPattern::SCHEME_HTTP); 737 DCHECK(scheme_type == URLPattern::SCHEME_HTTP);
745 PLT_HISTOGRAM("PLT.StartToFinish.NoProxy.http", 738 PLT_HISTOGRAM("PLT.StartToFinish.NoProxy.http",
746 start_to_finish_all_loads); 739 start_to_finish_all_loads);
747 UMA_HISTOGRAM_ENUMERATION("PLT.Abandoned.NoProxy.http", 740 UMA_HISTOGRAM_ENUMERATION("PLT.Abandoned.NoProxy.http",
748 abandoned_page ? 1 : 0, 2); 741 abandoned_page ? 1 : 0, 2);
749 } 742 }
750 } 743 }
751 744
752 static bool false_start_trial(base::FieldTrialList::Find("SSLFalseStart") && 745 static const bool false_start_trial =
753 !base::FieldTrialList::Find("SSLFalseStart")->group_name().empty()); 746 base::FieldTrialList::TrialExists("SSLFalseStart");
754 if (false_start_trial) { 747 if (false_start_trial) {
755 if (scheme_type == URLPattern::SCHEME_HTTPS) { 748 if (scheme_type == URLPattern::SCHEME_HTTPS) {
756 switch (load_type) { 749 switch (load_type) {
757 case NavigationState::LINK_LOAD_NORMAL: 750 case NavigationState::LINK_LOAD_NORMAL:
758 PLT_HISTOGRAM(base::FieldTrial::MakeName( 751 PLT_HISTOGRAM(base::FieldTrial::MakeName(
759 "PLT.BeginToFinish_LinkLoadNormal", "SSLFalseStart"), 752 "PLT.BeginToFinish_LinkLoadNormal", "SSLFalseStart"),
760 begin_to_finish_all_loads); 753 begin_to_finish_all_loads);
761 break; 754 break;
762 case NavigationState::NORMAL_LOAD: 755 case NavigationState::NORMAL_LOAD:
763 PLT_HISTOGRAM(base::FieldTrial::MakeName( 756 PLT_HISTOGRAM(base::FieldTrial::MakeName(
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
838 831
839 DCHECK(state); 832 DCHECK(state);
840 DCHECK(ds); 833 DCHECK(ds);
841 GURL url(ds->request().url()); 834 GURL url(ds->request().url());
842 Time start = state->start_load_time(); 835 Time start = state->start_load_time();
843 Time finish = state->finish_load_time(); 836 Time finish = state->finish_load_time();
844 // TODO(mbelshe): should we log more stats? 837 // TODO(mbelshe): should we log more stats?
845 VLOG(1) << "PLT: " << (finish - start).InMilliseconds() << "ms " 838 VLOG(1) << "PLT: " << (finish - start).InMilliseconds() << "ms "
846 << url.spec(); 839 << url.spec();
847 } 840 }
OLDNEW
« no previous file with comments | « chrome/browser/metrics/metrics_service.cc ('k') | chrome/renderer/prerender/prerender_helper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698