Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "content/browser/service_worker/service_worker_metrics.h" | 5 #include "content/browser/service_worker/service_worker_metrics.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/metrics/histogram_macros.h" | 10 #include "base/metrics/histogram_macros.h" |
| (...skipping 819 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 830 status, SERVICE_WORKER_ERROR_MAX_VALUE); | 830 status, SERVICE_WORKER_ERROR_MAX_VALUE); |
| 831 } | 831 } |
| 832 } | 832 } |
| 833 | 833 |
| 834 void ServiceWorkerMetrics::RecordNavigationPreloadRequestHeaderSize( | 834 void ServiceWorkerMetrics::RecordNavigationPreloadRequestHeaderSize( |
| 835 size_t size) { | 835 size_t size) { |
| 836 UMA_HISTOGRAM_COUNTS_100000("ServiceWorker.NavigationPreload.HeaderSize", | 836 UMA_HISTOGRAM_COUNTS_100000("ServiceWorker.NavigationPreload.HeaderSize", |
| 837 size); | 837 size); |
| 838 } | 838 } |
| 839 | 839 |
| 840 void ServiceWorkerMetrics::RecordNavigationPreloadResponse( | |
| 841 base::TimeDelta worker_start, | |
| 842 base::TimeDelta response_start, | |
| 843 EmbeddedWorkerStatus initial_worker_status, | |
| 844 StartSituation start_situation) { | |
| 845 DCHECK_GE(worker_start.ToInternalValue(), 0); | |
| 846 DCHECK_GE(response_start.ToInternalValue(), 0); | |
| 847 | |
| 848 UMA_HISTOGRAM_MEDIUM_TIMES("ServiceWorker.NavigationPreload.ResponseTime", | |
| 849 response_start); | |
| 850 | |
| 851 const bool nav_preload_finished_first = response_start < worker_start; | |
| 852 UMA_HISTOGRAM_BOOLEAN( | |
| 853 "ServiceWorker.NavigationPreload.FinishedBeforeStartWorker", | |
| 854 nav_preload_finished_first); | |
| 855 | |
| 856 const bool did_worker_startup = | |
|
horo
2017/01/24 01:48:33
nit:
|did_worker_startup_in_existing_process| may
falken
2017/01/24 04:41:18
Revised.
| |
| 857 (initial_worker_status == EmbeddedWorkerStatus::STOPPED && | |
| 858 start_situation == | |
| 859 ServiceWorkerMetrics::StartSituation::EXISTING_PROCESS); | |
| 860 if (did_worker_startup) { | |
| 861 UMA_HISTOGRAM_BOOLEAN( | |
| 862 "ServiceWorker.NavigationPreload.FinishedBeforeStartWorker" | |
| 863 "_StartWorkerExistingProcess", | |
| 864 nav_preload_finished_first); | |
| 865 } | |
| 866 | |
| 867 UMA_HISTOGRAM_MEDIUM_TIMES( | |
| 868 "ServiceWorker.NavigationPreload.ConcurrentTime", | |
| 869 nav_preload_finished_first ? response_start : worker_start); | |
| 870 | |
| 871 if (nav_preload_finished_first) { | |
| 872 UMA_HISTOGRAM_MEDIUM_TIMES( | |
| 873 "ServiceWorker.NavigationPreload.ConcurrentTime_NavPreloadFirst", | |
| 874 response_start); | |
| 875 UMA_HISTOGRAM_MEDIUM_TIMES( | |
| 876 "ServiceWorker.NavigationPreload.SWStartAfterNavPreload", | |
| 877 worker_start - response_start); | |
| 878 | |
| 879 if (did_worker_startup) { | |
| 880 UMA_HISTOGRAM_MEDIUM_TIMES( | |
| 881 "ServiceWorker.NavigationPreload.ConcurrentTime_" | |
| 882 "StartWorkerExistingProcess", | |
| 883 response_start); | |
| 884 UMA_HISTOGRAM_MEDIUM_TIMES( | |
| 885 "ServiceWorker.NavigationPreload.ConcurrentTime_" | |
| 886 "NavPreloadFirst_StartWorkerExistingProcess", | |
| 887 response_start); | |
| 888 UMA_HISTOGRAM_MEDIUM_TIMES( | |
| 889 "ServiceWorker.NavigationPreload.SWStartAfterNavPreload_" | |
| 890 "StartWorkerExistingProcess", | |
| 891 worker_start - response_start); | |
| 892 } | |
| 893 } else { | |
| 894 UMA_HISTOGRAM_MEDIUM_TIMES( | |
| 895 "ServiceWorker.NavigationPreload.ConcurrentTime_SWStartFirst", | |
| 896 worker_start); | |
| 897 UMA_HISTOGRAM_MEDIUM_TIMES( | |
| 898 "ServiceWorker.NavigationPreload.NavPreloadAfterSWStart", | |
| 899 response_start - worker_start); | |
| 900 | |
| 901 if (did_worker_startup) { | |
| 902 UMA_HISTOGRAM_MEDIUM_TIMES( | |
| 903 "ServiceWorker.NavigationPreload.ConcurrentTime_" | |
| 904 "StartWorkerExistingProcess", | |
| 905 worker_start); | |
| 906 UMA_HISTOGRAM_MEDIUM_TIMES( | |
| 907 "ServiceWorker.NavigationPreload.ConcurrentTime_" | |
| 908 "SWStartFirst_StartWorkerExistingProcess", | |
| 909 worker_start); | |
| 910 UMA_HISTOGRAM_MEDIUM_TIMES( | |
| 911 "ServiceWorker.NavigationPreload.NavPreloadAfterSWStart_" | |
| 912 "StartWorkerExistingProcess", | |
| 913 response_start - worker_start); | |
| 914 } | |
| 915 } | |
| 916 } | |
| 917 | |
| 840 void ServiceWorkerMetrics::RecordContextRequestHandlerStatus( | 918 void ServiceWorkerMetrics::RecordContextRequestHandlerStatus( |
| 841 ServiceWorkerContextRequestHandler::CreateJobStatus status, | 919 ServiceWorkerContextRequestHandler::CreateJobStatus status, |
| 842 bool is_installed, | 920 bool is_installed, |
| 843 bool is_main_script) { | 921 bool is_main_script) { |
| 844 const int value = static_cast<int>(status); | 922 const int value = static_cast<int>(status); |
| 845 const int max = static_cast<int>( | 923 const int max = static_cast<int>( |
| 846 ServiceWorkerContextRequestHandler::CreateJobStatus::NUM_TYPES); | 924 ServiceWorkerContextRequestHandler::CreateJobStatus::NUM_TYPES); |
| 847 if (is_installed) { | 925 if (is_installed) { |
| 848 if (is_main_script) { | 926 if (is_main_script) { |
| 849 UMA_HISTOGRAM_ENUMERATION( | 927 UMA_HISTOGRAM_ENUMERATION( |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 864 } else { | 942 } else { |
| 865 UMA_HISTOGRAM_ENUMERATION( | 943 UMA_HISTOGRAM_ENUMERATION( |
| 866 "ServiceWorker.ContextRequestHandlerStatus.NewWorker." | 944 "ServiceWorker.ContextRequestHandlerStatus.NewWorker." |
| 867 "ImportedScript", | 945 "ImportedScript", |
| 868 value, max); | 946 value, max); |
| 869 } | 947 } |
| 870 } | 948 } |
| 871 } | 949 } |
| 872 | 950 |
| 873 } // namespace content | 951 } // namespace content |
| OLD | NEW |