OLD | NEW |
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/renderer/page_load_histograms.h" | 5 #include "chrome/renderer/page_load_histograms.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/metrics/field_trial.h" | 9 #include "base/metrics/field_trial.h" |
10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
416 "PLT.Abandoned", "Prerender"), | 416 "PLT.Abandoned", "Prerender"), |
417 abandoned_page ? 1 : 0, 2); | 417 abandoned_page ? 1 : 0, 2); |
418 PLT_HISTOGRAM(base::FieldTrial::MakeName( | 418 PLT_HISTOGRAM(base::FieldTrial::MakeName( |
419 "PLT.BeginToFinishDoc", "Prerender"), | 419 "PLT.BeginToFinishDoc", "Prerender"), |
420 begin_to_finish_doc); | 420 begin_to_finish_doc); |
421 PLT_HISTOGRAM(base::FieldTrial::MakeName( | 421 PLT_HISTOGRAM(base::FieldTrial::MakeName( |
422 "PLT.BeginToFinish", "Prerender"), | 422 "PLT.BeginToFinish", "Prerender"), |
423 begin_to_finish_all_loads); | 423 begin_to_finish_all_loads); |
424 } | 424 } |
425 | 425 |
426 // Histograms to determine effect of idle socket timeout. | |
427 static const bool use_idle_socket_timeout_histogram = | |
428 base::FieldTrialList::TrialExists("IdleSktToImpact"); | |
429 if (use_idle_socket_timeout_histogram) { | |
430 UMA_HISTOGRAM_ENUMERATION( | |
431 base::FieldTrial::MakeName("PLT.Abandoned", "IdleSktToImpact"), | |
432 abandoned_page ? 1 : 0, 2); | |
433 switch (load_type) { | |
434 case DocumentState::NORMAL_LOAD: | |
435 PLT_HISTOGRAM(base::FieldTrial::MakeName( | |
436 "PLT.BeginToFinish_NormalLoad", "IdleSktToImpact"), | |
437 begin_to_finish_all_loads); | |
438 break; | |
439 case DocumentState::LINK_LOAD_NORMAL: | |
440 PLT_HISTOGRAM(base::FieldTrial::MakeName( | |
441 "PLT.BeginToFinish_LinkLoadNormal", "IdleSktToImpact"), | |
442 begin_to_finish_all_loads); | |
443 break; | |
444 case DocumentState::LINK_LOAD_RELOAD: | |
445 PLT_HISTOGRAM(base::FieldTrial::MakeName( | |
446 "PLT.BeginToFinish_LinkLoadReload", "IdleSktToImpact"), | |
447 begin_to_finish_all_loads); | |
448 break; | |
449 case DocumentState::LINK_LOAD_CACHE_STALE_OK: | |
450 PLT_HISTOGRAM(base::FieldTrial::MakeName( | |
451 "PLT.BeginToFinish_LinkLoadStaleOk", "IdleSktToImpact"), | |
452 begin_to_finish_all_loads); | |
453 break; | |
454 default: | |
455 break; | |
456 } | |
457 } | |
458 | |
459 // Histograms to determine if SDCH has an impact. | 426 // Histograms to determine if SDCH has an impact. |
460 // TODO(jar): Consider removing per-link load types and the enumeration. | 427 // TODO(jar): Consider removing per-link load types and the enumeration. |
461 static const bool use_sdch_histogram = | 428 static const bool use_sdch_histogram = |
462 base::FieldTrialList::TrialExists("GlobalSdch"); | 429 base::FieldTrialList::TrialExists("GlobalSdch"); |
463 if (use_sdch_histogram) { | 430 if (use_sdch_histogram) { |
464 UMA_HISTOGRAM_ENUMERATION( | 431 UMA_HISTOGRAM_ENUMERATION( |
465 base::FieldTrial::MakeName("PLT.LoadType", "GlobalSdch"), | 432 base::FieldTrial::MakeName("PLT.LoadType", "GlobalSdch"), |
466 load_type, DocumentState::kLoadTypeMax); | 433 load_type, DocumentState::kLoadTypeMax); |
467 switch (load_type) { | 434 switch (load_type) { |
468 case DocumentState::NORMAL_LOAD: | 435 case DocumentState::NORMAL_LOAD: |
(...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
887 | 854 |
888 DCHECK(document_state); | 855 DCHECK(document_state); |
889 DCHECK(ds); | 856 DCHECK(ds); |
890 GURL url(ds->request().url()); | 857 GURL url(ds->request().url()); |
891 Time start = document_state->start_load_time(); | 858 Time start = document_state->start_load_time(); |
892 Time finish = document_state->finish_load_time(); | 859 Time finish = document_state->finish_load_time(); |
893 // TODO(mbelshe): should we log more stats? | 860 // TODO(mbelshe): should we log more stats? |
894 VLOG(1) << "PLT: " << (finish - start).InMilliseconds() << "ms " | 861 VLOG(1) << "PLT: " << (finish - start).InMilliseconds() << "ms " |
895 << url.spec(); | 862 << url.spec(); |
896 } | 863 } |
OLD | NEW |