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 <string> | 7 #include <string> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
11 #include "base/logging.h" | 11 #include "base/logging.h" |
12 #include "base/metrics/field_trial.h" | 12 #include "base/metrics/field_trial.h" |
13 #include "base/metrics/histogram.h" | 13 #include "base/metrics/histogram.h" |
14 #include "base/strings/string_number_conversions.h" | 14 #include "base/strings/string_number_conversions.h" |
15 #include "base/strings/string_split.h" | 15 #include "base/strings/string_split.h" |
16 #include "base/strings/string_util.h" | 16 #include "base/strings/string_util.h" |
17 #include "base/strings/stringprintf.h" | 17 #include "base/strings/stringprintf.h" |
18 #include "base/strings/utf_string_conversions.h" | 18 #include "base/strings/utf_string_conversions.h" |
19 #include "base/time/time.h" | 19 #include "base/time/time.h" |
20 #include "chrome/common/chrome_switches.h" | 20 #include "chrome/common/chrome_switches.h" |
21 #include "chrome/renderer/searchbox/search_bouncer.h" | 21 #include "chrome/renderer/searchbox/search_bouncer.h" |
22 #include "components/data_reduction_proxy/content/common/data_reduction_proxy_me
ssages.h" | 22 #include "components/data_reduction_proxy/content/common/data_reduction_proxy_me
ssages.h" |
| 23 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_param
s.h" |
23 #include "content/public/common/content_constants.h" | 24 #include "content/public/common/content_constants.h" |
24 #include "content/public/renderer/document_state.h" | 25 #include "content/public/renderer/document_state.h" |
| 26 #include "content/public/renderer/render_frame.h" |
25 #include "content/public/renderer/render_thread.h" | 27 #include "content/public/renderer/render_thread.h" |
26 #include "content/public/renderer/render_view.h" | 28 #include "content/public/renderer/render_view.h" |
27 #include "extensions/common/url_pattern.h" | 29 #include "extensions/common/url_pattern.h" |
28 #include "net/base/url_util.h" | 30 #include "net/base/url_util.h" |
29 #include "net/http/http_response_headers.h" | 31 #include "net/http/http_response_headers.h" |
30 #include "third_party/WebKit/public/platform/WebURLRequest.h" | 32 #include "third_party/WebKit/public/platform/WebURLRequest.h" |
31 #include "third_party/WebKit/public/platform/WebURLResponse.h" | 33 #include "third_party/WebKit/public/platform/WebURLResponse.h" |
32 #include "third_party/WebKit/public/web/WebDocument.h" | 34 #include "third_party/WebKit/public/web/WebDocument.h" |
33 #include "third_party/WebKit/public/web/WebFrame.h" | 35 #include "third_party/WebKit/public/web/WebFrame.h" |
34 #include "third_party/WebKit/public/web/WebPerformance.h" | 36 #include "third_party/WebKit/public/web/WebPerformance.h" |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 if (!base::StringToInt(value, &experiment_id)) | 218 if (!base::StringToInt(value, &experiment_id)) |
217 return kNoExperiment; | 219 return kNoExperiment; |
218 if (0 < experiment_id && experiment_id <= kMaxExperimentID) | 220 if (0 < experiment_id && experiment_id <= kMaxExperimentID) |
219 return experiment_id; | 221 return experiment_id; |
220 return kNoExperiment; | 222 return kNoExperiment; |
221 } | 223 } |
222 | 224 |
223 void DumpHistograms(const WebPerformance& performance, | 225 void DumpHistograms(const WebPerformance& performance, |
224 DocumentState* document_state, | 226 DocumentState* document_state, |
225 bool data_reduction_proxy_was_used, | 227 bool data_reduction_proxy_was_used, |
226 data_reduction_proxy::LoFiStatus lofi_status, | 228 bool lofi_active_for_page, // LoFi was used, unless part of |
| 229 // the control group. |
227 bool came_from_websearch, | 230 bool came_from_websearch, |
228 int websearch_chrome_joint_experiment_id, | 231 int websearch_chrome_joint_experiment_id, |
229 bool is_preview, | 232 bool is_preview, |
230 URLPattern::SchemeMasks scheme_type) { | 233 URLPattern::SchemeMasks scheme_type) { |
231 // This function records new histograms based on the Navigation Timing | 234 // This function records new histograms based on the Navigation Timing |
232 // records. As such, the histograms should not depend on the deprecated timing | 235 // records. As such, the histograms should not depend on the deprecated timing |
233 // information collected in DocumentState. However, here for some reason we | 236 // information collected in DocumentState. However, here for some reason we |
234 // check if document_state->request_time() is null. TODO(ppi): find out why | 237 // check if document_state->request_time() is null. TODO(ppi): find out why |
235 // and remove DocumentState from the parameter list. | 238 // and remove DocumentState from the parameter list. |
236 Time request = document_state->request_time(); | 239 Time request = document_state->request_time(); |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
408 load_event_end - navigation_start, | 411 load_event_end - navigation_start, |
409 came_from_websearch, | 412 came_from_websearch, |
410 websearch_chrome_joint_experiment_id, | 413 websearch_chrome_joint_experiment_id, |
411 is_preview); | 414 is_preview); |
412 PLT_HISTOGRAM_WITH_GWS_VARIANT("PLT.PT_StartToFinish", | 415 PLT_HISTOGRAM_WITH_GWS_VARIANT("PLT.PT_StartToFinish", |
413 load_event_end - request_start, | 416 load_event_end - request_start, |
414 came_from_websearch, | 417 came_from_websearch, |
415 websearch_chrome_joint_experiment_id, | 418 websearch_chrome_joint_experiment_id, |
416 is_preview); | 419 is_preview); |
417 if (data_reduction_proxy_was_used) { | 420 if (data_reduction_proxy_was_used) { |
| 421 // TODO(megjablon): Move these repetitive cases into an anonymous |
| 422 // function. |
| 423 bool in_lofi_enabled_group = |
| 424 data_reduction_proxy::params::IsIncludedInLoFiEnabledFieldTrial(); |
| 425 bool in_lofi_control_group = |
| 426 data_reduction_proxy::params::IsIncludedInLoFiControlFieldTrial(); |
418 if ((scheme_type & URLPattern::SCHEME_HTTPS) == 0) { | 427 if ((scheme_type & URLPattern::SCHEME_HTTPS) == 0) { |
419 PLT_HISTOGRAM("PLT.PT_BeginToFinish_DataReductionProxy", | 428 PLT_HISTOGRAM("PLT.PT_BeginToFinish_DataReductionProxy", |
420 load_event_end - begin); | 429 load_event_end - begin); |
421 PLT_HISTOGRAM("PLT.PT_CommitToFinish_DataReductionProxy", | 430 PLT_HISTOGRAM("PLT.PT_CommitToFinish_DataReductionProxy", |
422 load_event_end - response_start); | 431 load_event_end - response_start); |
423 PLT_HISTOGRAM("PLT.PT_RequestToFinish_DataReductionProxy", | 432 PLT_HISTOGRAM("PLT.PT_RequestToFinish_DataReductionProxy", |
424 load_event_end - navigation_start); | 433 load_event_end - navigation_start); |
425 PLT_HISTOGRAM("PLT.PT_StartToFinish_DataReductionProxy", | 434 PLT_HISTOGRAM("PLT.PT_StartToFinish_DataReductionProxy", |
426 load_event_end - request_start); | 435 load_event_end - request_start); |
427 if (lofi_status == data_reduction_proxy::LOFI_STATUS_ACTIVE) { | 436 if (lofi_active_for_page && in_lofi_enabled_group) { |
428 PLT_HISTOGRAM("PLT.PT_BeginToFinish_DataReductionProxy_AutoLoFiOn", | 437 PLT_HISTOGRAM("PLT.PT_BeginToFinish_DataReductionProxy_AutoLoFiOn", |
429 load_event_end - begin); | 438 load_event_end - begin); |
430 PLT_HISTOGRAM("PLT.PT_CommitToFinish_DataReductionProxy_AutoLoFiOn", | 439 PLT_HISTOGRAM("PLT.PT_CommitToFinish_DataReductionProxy_AutoLoFiOn", |
431 load_event_end - response_start); | 440 load_event_end - response_start); |
432 PLT_HISTOGRAM("PLT.PT_RequestToFinish_DataReductionProxy_AutoLoFiOn", | 441 PLT_HISTOGRAM("PLT.PT_RequestToFinish_DataReductionProxy_AutoLoFiOn", |
433 load_event_end - navigation_start); | 442 load_event_end - navigation_start); |
434 PLT_HISTOGRAM("PLT.PT_StartToFinish_DataReductionProxy_AutoLoFiOn", | 443 PLT_HISTOGRAM("PLT.PT_StartToFinish_DataReductionProxy_AutoLoFiOn", |
435 load_event_end - request_start); | 444 load_event_end - request_start); |
436 if (!first_paint.is_null()) { | 445 if (!first_paint.is_null()) { |
437 PLT_HISTOGRAM("PLT.BeginToFirstPaint_DataReductionProxy_AutoLoFiOn", | 446 PLT_HISTOGRAM("PLT.BeginToFirstPaint_DataReductionProxy_AutoLoFiOn", |
438 first_paint - begin); | 447 first_paint - begin); |
439 } | 448 } |
440 } else if (lofi_status == | 449 } else if (lofi_active_for_page && in_lofi_control_group) { |
441 data_reduction_proxy::LOFI_STATUS_ACTIVE_CONTROL) { | |
442 PLT_HISTOGRAM("PLT.PT_BeginToFinish_DataReductionProxy_AutoLoFiOff", | 450 PLT_HISTOGRAM("PLT.PT_BeginToFinish_DataReductionProxy_AutoLoFiOff", |
443 load_event_end - begin); | 451 load_event_end - begin); |
444 PLT_HISTOGRAM("PLT.PT_CommitToFinish_DataReductionProxy_AutoLoFiOff", | 452 PLT_HISTOGRAM("PLT.PT_CommitToFinish_DataReductionProxy_AutoLoFiOff", |
445 load_event_end - response_start); | 453 load_event_end - response_start); |
446 PLT_HISTOGRAM("PLT.PT_RequestToFinish_DataReductionProxy_AutoLoFiOff", | 454 PLT_HISTOGRAM("PLT.PT_RequestToFinish_DataReductionProxy_AutoLoFiOff", |
447 load_event_end - navigation_start); | 455 load_event_end - navigation_start); |
448 PLT_HISTOGRAM("PLT.PT_StartToFinish_DataReductionProxy_AutoLoFiOff", | 456 PLT_HISTOGRAM("PLT.PT_StartToFinish_DataReductionProxy_AutoLoFiOff", |
449 load_event_end - request_start); | 457 load_event_end - request_start); |
450 if (!first_paint.is_null()) { | 458 if (!first_paint.is_null()) { |
451 PLT_HISTOGRAM( | 459 PLT_HISTOGRAM( |
452 "PLT.BeginToFirstPaint_DataReductionProxy_AutoLoFiOff", | 460 "PLT.BeginToFirstPaint_DataReductionProxy_AutoLoFiOff", |
453 first_paint - begin); | 461 first_paint - begin); |
454 } | 462 } |
455 } | 463 } |
456 } else { | 464 } else { |
457 PLT_HISTOGRAM("PLT.PT_BeginToFinish_HTTPS_DataReductionProxy", | 465 PLT_HISTOGRAM("PLT.PT_BeginToFinish_HTTPS_DataReductionProxy", |
458 load_event_end - begin); | 466 load_event_end - begin); |
459 PLT_HISTOGRAM("PLT.PT_CommitToFinish_HTTPS_DataReductionProxy", | 467 PLT_HISTOGRAM("PLT.PT_CommitToFinish_HTTPS_DataReductionProxy", |
460 load_event_end - response_start); | 468 load_event_end - response_start); |
461 PLT_HISTOGRAM("PLT.PT_RequestToFinish_HTTPS_DataReductionProxy", | 469 PLT_HISTOGRAM("PLT.PT_RequestToFinish_HTTPS_DataReductionProxy", |
462 load_event_end - navigation_start); | 470 load_event_end - navigation_start); |
463 PLT_HISTOGRAM("PLT.PT_StartToFinish_HTTPS_DataReductionProxy", | 471 PLT_HISTOGRAM("PLT.PT_StartToFinish_HTTPS_DataReductionProxy", |
464 load_event_end - request_start); | 472 load_event_end - request_start); |
465 if (lofi_status == data_reduction_proxy::LOFI_STATUS_ACTIVE) { | 473 if (lofi_active_for_page && in_lofi_enabled_group) { |
466 PLT_HISTOGRAM( | 474 PLT_HISTOGRAM( |
467 "PLT.PT_BeginToFinish_HTTPS_DataReductionProxy_AutoLoFiOn", | 475 "PLT.PT_BeginToFinish_HTTPS_DataReductionProxy_AutoLoFiOn", |
468 load_event_end - begin); | 476 load_event_end - begin); |
469 PLT_HISTOGRAM( | 477 PLT_HISTOGRAM( |
470 "PLT.PT_CommitToFinish_HTTPS_DataReductionProxy_AutoLoFiOn", | 478 "PLT.PT_CommitToFinish_HTTPS_DataReductionProxy_AutoLoFiOn", |
471 load_event_end - response_start); | 479 load_event_end - response_start); |
472 PLT_HISTOGRAM( | 480 PLT_HISTOGRAM( |
473 "PLT.PT_RequestToFinish_HTTPS_DataReductionProxy_AutoLoFiOn", | 481 "PLT.PT_RequestToFinish_HTTPS_DataReductionProxy_AutoLoFiOn", |
474 load_event_end - navigation_start); | 482 load_event_end - navigation_start); |
475 PLT_HISTOGRAM( | 483 PLT_HISTOGRAM( |
476 "PLT.PT_StartToFinish_HTTPS_DataReductionProxy_AutoLoFiOn", | 484 "PLT.PT_StartToFinish_HTTPS_DataReductionProxy_AutoLoFiOn", |
477 load_event_end - request_start); | 485 load_event_end - request_start); |
478 if (!first_paint.is_null()) { | 486 if (!first_paint.is_null()) { |
479 PLT_HISTOGRAM( | 487 PLT_HISTOGRAM( |
480 "PLT.BeginToFirstPaint_HTTPS_DataReductionProxy_AutoLoFiOn", | 488 "PLT.BeginToFirstPaint_HTTPS_DataReductionProxy_AutoLoFiOn", |
481 first_paint - begin); | 489 first_paint - begin); |
482 } | 490 } |
483 } else if (lofi_status == | 491 } else if (lofi_active_for_page && in_lofi_control_group) { |
484 data_reduction_proxy::LOFI_STATUS_ACTIVE_CONTROL) { | |
485 PLT_HISTOGRAM( | 492 PLT_HISTOGRAM( |
486 "PLT.PT_BeginToFinish_HTTPS_DataReductionProxy_AutoLoFiOff", | 493 "PLT.PT_BeginToFinish_HTTPS_DataReductionProxy_AutoLoFiOff", |
487 load_event_end - begin); | 494 load_event_end - begin); |
488 PLT_HISTOGRAM( | 495 PLT_HISTOGRAM( |
489 "PLT.PT_CommitToFinish_HTTPS_DataReductionProxy_AutoLoFiOff", | 496 "PLT.PT_CommitToFinish_HTTPS_DataReductionProxy_AutoLoFiOff", |
490 load_event_end - response_start); | 497 load_event_end - response_start); |
491 PLT_HISTOGRAM( | 498 PLT_HISTOGRAM( |
492 "PLT.PT_RequestToFinish_HTTPS_DataReductionProxy_AutoLoFiOff", | 499 "PLT.PT_RequestToFinish_HTTPS_DataReductionProxy_AutoLoFiOff", |
493 load_event_end - navigation_start); | 500 load_event_end - navigation_start); |
494 PLT_HISTOGRAM( | 501 PLT_HISTOGRAM( |
(...skipping 26 matching lines...) Expand all Loading... |
521 } | 528 } |
522 } | 529 } |
523 } | 530 } |
524 if (!dom_content_loaded_start.is_null()) { | 531 if (!dom_content_loaded_start.is_null()) { |
525 PLT_HISTOGRAM_WITH_GWS_VARIANT("PLT.PT_RequestToDomContentLoaded", | 532 PLT_HISTOGRAM_WITH_GWS_VARIANT("PLT.PT_RequestToDomContentLoaded", |
526 dom_content_loaded_start - navigation_start, | 533 dom_content_loaded_start - navigation_start, |
527 came_from_websearch, | 534 came_from_websearch, |
528 websearch_chrome_joint_experiment_id, | 535 websearch_chrome_joint_experiment_id, |
529 is_preview); | 536 is_preview); |
530 if (data_reduction_proxy_was_used) { | 537 if (data_reduction_proxy_was_used) { |
| 538 bool in_lofi_enabled_group = |
| 539 data_reduction_proxy::params::IsIncludedInLoFiEnabledFieldTrial(); |
| 540 bool in_lofi_control_group = |
| 541 data_reduction_proxy::params::IsIncludedInLoFiControlFieldTrial(); |
531 if ((scheme_type & URLPattern::SCHEME_HTTPS) == 0) { | 542 if ((scheme_type & URLPattern::SCHEME_HTTPS) == 0) { |
532 PLT_HISTOGRAM("PLT.PT_RequestToDomContentLoaded_DataReductionProxy", | 543 PLT_HISTOGRAM("PLT.PT_RequestToDomContentLoaded_DataReductionProxy", |
533 dom_content_loaded_start - navigation_start); | 544 dom_content_loaded_start - navigation_start); |
534 if (lofi_status == data_reduction_proxy::LOFI_STATUS_ACTIVE) { | 545 if (lofi_active_for_page && in_lofi_enabled_group) { |
535 PLT_HISTOGRAM( | 546 PLT_HISTOGRAM( |
536 "PLT.PT_RequestToDomContentLoaded_DataReductionProxy_AutoLoFiOn", | 547 "PLT.PT_RequestToDomContentLoaded_DataReductionProxy_AutoLoFiOn", |
537 dom_content_loaded_start - navigation_start); | 548 dom_content_loaded_start - navigation_start); |
538 } else if (lofi_status == | 549 } else if (lofi_active_for_page && in_lofi_control_group) { |
539 data_reduction_proxy::LOFI_STATUS_ACTIVE_CONTROL) { | |
540 PLT_HISTOGRAM( | 550 PLT_HISTOGRAM( |
541 "PLT.PT_RequestToDomContentLoaded_DataReductionProxy_AutoLoFiOff", | 551 "PLT.PT_RequestToDomContentLoaded_DataReductionProxy_AutoLoFiOff", |
542 dom_content_loaded_start - navigation_start); | 552 dom_content_loaded_start - navigation_start); |
543 } | 553 } |
544 } else { | 554 } else { |
545 PLT_HISTOGRAM( | 555 PLT_HISTOGRAM( |
546 "PLT.PT_RequestToDomContentLoaded_HTTPS_DataReductionProxy", | 556 "PLT.PT_RequestToDomContentLoaded_HTTPS_DataReductionProxy", |
547 dom_content_loaded_start - navigation_start); | 557 dom_content_loaded_start - navigation_start); |
548 if (lofi_status == data_reduction_proxy::LOFI_STATUS_ACTIVE) { | 558 if (lofi_active_for_page && in_lofi_enabled_group) { |
549 PLT_HISTOGRAM( | 559 PLT_HISTOGRAM( |
550 "PLT.PT_RequestToDomContentLoaded_HTTPS_DataReductionProxy_" | 560 "PLT.PT_RequestToDomContentLoaded_HTTPS_DataReductionProxy_" |
551 "AutoLoFiOn", | 561 "AutoLoFiOn", |
552 dom_content_loaded_start - navigation_start); | 562 dom_content_loaded_start - navigation_start); |
553 } else if (lofi_status == | 563 } else if (lofi_active_for_page && in_lofi_control_group) { |
554 data_reduction_proxy::LOFI_STATUS_ACTIVE_CONTROL) { | |
555 PLT_HISTOGRAM( | 564 PLT_HISTOGRAM( |
556 "PLT.PT_RequestToDomContentLoaded_HTTPS_DataReductionProxy_" | 565 "PLT.PT_RequestToDomContentLoaded_HTTPS_DataReductionProxy_" |
557 "AutoLoFiOff", | 566 "AutoLoFiOff", |
558 dom_content_loaded_start - navigation_start); | 567 dom_content_loaded_start - navigation_start); |
559 } | 568 } |
560 } | 569 } |
561 } | 570 } |
562 } | 571 } |
563 PLT_HISTOGRAM_WITH_GWS_VARIANT("PLT.PT_BeginToCommit", | 572 PLT_HISTOGRAM_WITH_GWS_VARIANT("PLT.PT_BeginToCommit", |
564 response_start - begin, | 573 response_start - begin, |
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
883 if (!ShouldDump(frame)) | 892 if (!ShouldDump(frame)) |
884 return; | 893 return; |
885 | 894 |
886 URLPattern::SchemeMasks scheme_type = | 895 URLPattern::SchemeMasks scheme_type = |
887 GetSupportedSchemeType(frame->document().url()); | 896 GetSupportedSchemeType(frame->document().url()); |
888 | 897 |
889 DocumentState* document_state = | 898 DocumentState* document_state = |
890 DocumentState::FromDataSource(frame->dataSource()); | 899 DocumentState::FromDataSource(frame->dataSource()); |
891 | 900 |
892 bool data_reduction_proxy_was_used = false; | 901 bool data_reduction_proxy_was_used = false; |
893 data_reduction_proxy::LoFiStatus lofi_status = | |
894 data_reduction_proxy::LOFI_STATUS_TEMPORARILY_OFF; | |
895 if (!document_state->proxy_server().IsEmpty()) { | 902 if (!document_state->proxy_server().IsEmpty()) { |
896 bool handled = | 903 bool handled = |
897 Send(new DataReductionProxyViewHostMsg_DataReductionProxyStatus( | 904 Send(new DataReductionProxyViewHostMsg_IsDataReductionProxy( |
898 document_state->proxy_server(), &data_reduction_proxy_was_used, | 905 document_state->proxy_server(), &data_reduction_proxy_was_used)); |
899 &lofi_status)); | |
900 // If the IPC call is not handled, then |data_reduction_proxy_was_used| | 906 // If the IPC call is not handled, then |data_reduction_proxy_was_used| |
901 // should remain |false|. | 907 // should remain |false|. |
902 DCHECK(handled || !data_reduction_proxy_was_used); | 908 DCHECK(handled || !data_reduction_proxy_was_used); |
903 } | 909 } |
904 | 910 |
905 bool came_from_websearch = | 911 bool came_from_websearch = |
906 IsFromGoogleSearchResult(frame->document().url(), | 912 IsFromGoogleSearchResult(frame->document().url(), |
907 GURL(frame->document().referrer())); | 913 GURL(frame->document().referrer())); |
908 int websearch_chrome_joint_experiment_id = kNoExperiment; | 914 int websearch_chrome_joint_experiment_id = kNoExperiment; |
909 bool is_preview = false; | 915 bool is_preview = false; |
910 if (came_from_websearch) { | 916 if (came_from_websearch) { |
911 websearch_chrome_joint_experiment_id = | 917 websearch_chrome_joint_experiment_id = |
912 GetQueryStringBasedExperiment(GURL(frame->document().referrer())); | 918 GetQueryStringBasedExperiment(GURL(frame->document().referrer())); |
913 is_preview = ViaHeaderContains(frame, "1.1 Google Instant Proxy Preview"); | 919 is_preview = ViaHeaderContains(frame, "1.1 Google Instant Proxy Preview"); |
914 } | 920 } |
915 | 921 |
916 MaybeDumpFirstLayoutHistograms(); | 922 MaybeDumpFirstLayoutHistograms(); |
917 | 923 |
918 // Metrics based on the timing information recorded for the Navigation Timing | 924 // Metrics based on the timing information recorded for the Navigation Timing |
919 // API - http://www.w3.org/TR/navigation-timing/. | 925 // API - http://www.w3.org/TR/navigation-timing/. |
920 DumpHistograms(frame->performance(), document_state, | 926 DumpHistograms( |
921 data_reduction_proxy_was_used, lofi_status, | 927 frame->performance(), document_state, data_reduction_proxy_was_used, |
922 came_from_websearch, websearch_chrome_joint_experiment_id, | 928 false /* TODO: render_frame->IsUsingLoFi() */, came_from_websearch, |
923 is_preview, scheme_type); | 929 websearch_chrome_joint_experiment_id, is_preview, scheme_type); |
924 | 930 |
925 // Old metrics based on the timing information stored in DocumentState. These | 931 // Old metrics based on the timing information stored in DocumentState. These |
926 // are deprecated and should go away. | 932 // are deprecated and should go away. |
927 DumpDeprecatedHistograms(frame->performance(), document_state, | 933 DumpDeprecatedHistograms(frame->performance(), document_state, |
928 data_reduction_proxy_was_used, | 934 data_reduction_proxy_was_used, |
929 came_from_websearch, | 935 came_from_websearch, |
930 websearch_chrome_joint_experiment_id, | 936 websearch_chrome_joint_experiment_id, |
931 is_preview, | 937 is_preview, |
932 scheme_type); | 938 scheme_type); |
933 | 939 |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1032 | 1038 |
1033 DCHECK(document_state); | 1039 DCHECK(document_state); |
1034 DCHECK(ds); | 1040 DCHECK(ds); |
1035 GURL url(ds->request().url()); | 1041 GURL url(ds->request().url()); |
1036 Time start = document_state->start_load_time(); | 1042 Time start = document_state->start_load_time(); |
1037 Time finish = document_state->finish_load_time(); | 1043 Time finish = document_state->finish_load_time(); |
1038 // TODO(mbelshe): should we log more stats? | 1044 // TODO(mbelshe): should we log more stats? |
1039 VLOG(1) << "PLT: " << (finish - start).InMilliseconds() << "ms " | 1045 VLOG(1) << "PLT: " << (finish - start).InMilliseconds() << "ms " |
1040 << url.spec(); | 1046 << url.spec(); |
1041 } | 1047 } |
OLD | NEW |