| <!-- |
| Copyright 2020 The Chromium Authors |
| Use of this source code is governed by a BSD-style license that can be |
| found in the LICENSE file. |
| --> |
| |
| <!-- |
| This file is used to generate a comprehensive list of Service histograms |
| along with a detailed description for each histogram. |
| |
| For best practices on writing histogram descriptions, see |
| https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md |
| |
| Please follow the instructions in the OWNERS file in this directory to find a |
| reviewer. If no OWNERS file exists, please consider signing up at |
| go/reviewing-metrics (Googlers only), as all subdirectories are expected to |
| have an OWNERS file. As a last resort you can send the CL to |
| chromium-metrics-reviews@google.com. |
| --> |
| |
| <histogram-configuration> |
| |
| <histograms> |
| |
| <variants name="EmbeddedWorkerInitialStatus"> |
| <variant name="" summary=""/> |
| <variant name=".RUNNING" |
| summary="The service worker was in RUNNING state when |
| ServiceWorkerMainResourceLoader was created."/> |
| <variant name=".STARTING" |
| summary="The service worker was in STARTING state when |
| ServiceWorkerMainResourceLoader was created."/> |
| <variant name=".STOPPED" |
| summary="The service worker was in STOPPED state when |
| ServiceWorkerMainResourceLoader was created."/> |
| <variant name=".STOPPING" |
| summary="The service worker was in STOPPING state when |
| ServiceWorkerMainResourceLoader was created."/> |
| </variants> |
| |
| <variants name="NavigationType"> |
| <variant name="" summary=""/> |
| <variant name=".CrossOriginNavigation" |
| summary="This is only recorded when navigation is cross origin |
| navigation."/> |
| <variant name=".SameOriginNavigation" |
| summary="This is only recorded when navigation is same origin |
| navigation."/> |
| </variants> |
| |
| <variants name="ServiceWorkerCacheClientType"> |
| <variant name="BackgroundSyncManager" |
| summary="Collected from a BackgroundSyncManager instance"/> |
| <variant name="Cache" summary="Collected from a CacheStorageCache instance"/> |
| <variant name="CacheStorage" |
| summary="Collected from a CacheStorage instance"/> |
| </variants> |
| |
| <variants name="ServiceWorkerCacheProcessType"> |
| <variant name="Browser" |
| summary="Measurements taken in the browser process on the IO thread"/> |
| <variant name="Renderer" |
| summary="Measurements taken in the renderer process on the javascript |
| thread"/> |
| </variants> |
| |
| <variants name="ServiceWorkerCacheSchedulerOpClientType"> |
| <variant name="Cache" summary="Collected from a CacheStorageCache instance"/> |
| <variant name="CacheStorage" |
| summary="Collected from a CacheStorage instance"/> |
| </variants> |
| |
| <variants name="ServiceWorkerEventType"> |
| <variant name="ACTIVATE"/> |
| <variant name="BACKGROUND_FETCH_ABORT"/> |
| <variant name="BACKGROUND_FETCH_CLICK"/> |
| <variant name="BACKGROUND_FETCH_FAIL"/> |
| <variant name="BACKGROUND_FETCH_SUCCESS"/> |
| <variant name="COOKIE_CHANGE"/> |
| <variant name="FETCH_FENCED_FRAME"/> |
| <variant name="FETCH_MAIN_FRAME"/> |
| <variant name="FETCH_SHARED_WORKER"/> |
| <variant name="FETCH_SUB_FRAME"/> |
| <variant name="FETCH_SUB_RESOURCE"/> |
| <variant name="INSTALL"/> |
| <variant name="LONG_RUNNING_MESSAGE"/> |
| <variant name="MESSAGE"/> |
| <variant name="NAVIGATION_HINT"/> |
| <variant name="NOTIFICATION_CLICK"/> |
| <variant name="NOTIFICATION_CLOSE"/> |
| <variant name="PUSH"/> |
| <variant name="SYNC"/> |
| <variant name="UNKNOWN"/> |
| </variants> |
| |
| <variants name="ServiceWorkerFetchEventResult"> |
| <variant name="GOT_RESPONSE"/> |
| <variant name="SHOULD_FALLBACK"/> |
| </variants> |
| |
| <variants name="ServiceWorkerResponseSource"> |
| <variant name="" summary=""/> |
| <variant name=".CacheStorage" summary="The response came from CacheStorage."/> |
| <variant name=".HttpCache" summary="The response came from HttpCache."/> |
| <variant name=".Network" summary="The response directly came from network."/> |
| <variant name=".Unspecified" |
| summary="The source of a response was unspecified."/> |
| </variants> |
| |
| <variants name="ServiceWorkerSchedulerOp"> |
| <variant name="Close"/> |
| <variant name="Delete"/> |
| <variant name="GetAllMatched"/> |
| <variant name="Has"/> |
| <variant name="Init"/> |
| <variant name="Keys"/> |
| <variant name="Match"/> |
| <variant name="MatchAll"/> |
| <variant name="Open"/> |
| <variant name="Put"/> |
| <variant name="Size"/> |
| <variant name="SizeThenClose"/> |
| <variant name="WriteIndex"/> |
| <variant name="WriteSideData"/> |
| </variants> |
| |
| <histogram name="ServiceWorker.AbortPaymentEvent.Time" units="ms" |
| expires_after="2023-10-18"> |
| <owner>rouslan@chromium.org</owner> |
| <owner>web-payments-team@google.com</owner> |
| <owner>jinho.bang@samsung.com</owner> |
| <summary> |
| The time taken between dispatching an AbortPaymentEvent to a Service Worker |
| and receiving a message that it finished handling the event. Includes the |
| time for the waitUntil() promise to settle. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.ActivateEvent.Time" units="ms" |
| expires_after="2023-09-10"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Execution time of ServiceWorkerGlobalScope.onactivate. Includes the time for |
| waitUntil() promise to settle. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.ActivateEventStatus" |
| enum="ServiceWorkerStatusCode" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The result of dispatching the activate event to the worker. This is recorded |
| to both ServiceWorker.ActivateEventStatus and whichever of |
| ServiceWorker.ActivateEventStatus_InShutdown |
| ServiceWorker.ActivateEventStatus_NotInShutdown is appropriate. (InShutdown |
| means the context was null or ServiceWorkerProcessManger::Shutdown was |
| called.) |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.BackgroundFetchAbortEvent.Time" units="ms" |
| expires_after="2022-06-30"> |
| <owner>nator@chromium.org</owner> |
| <owner>peter@chromium.org</owner> |
| <owner>rayankans@chromium.org</owner> |
| <summary> |
| The time taken between dispatching a BackgroundFetchAbortEvent to a Service |
| Worker and receiving a message that it finished handling the event. Includes |
| the time for the waitUntil() promise to settle. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.BackgroundFetchClickEvent.Time" units="ms" |
| expires_after="2022-06-30"> |
| <owner>nator@chromium.org</owner> |
| <owner>peter@chromium.org</owner> |
| <owner>rayankans@chromium.org</owner> |
| <summary> |
| The time taken between dispatching a BackgroundFetchClickEvent to a Service |
| Worker and receiving a message that it finished handling the event. Includes |
| the time for the waitUntil() promise to settle. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.BackgroundFetchFailEvent.Time" units="ms" |
| expires_after="2022-06-30"> |
| <owner>nator@chromium.org</owner> |
| <owner>peter@chromium.org</owner> |
| <owner>rayankans@chromium.org</owner> |
| <summary> |
| The time taken between dispatching a BackgroundFetchFailEvent to a Service |
| Worker and receiving a message that it finished handling the event. Includes |
| the time for the waitUntil() promise to settle. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.BackgroundFetchSuccessEvent.Time" units="ms" |
| expires_after="2022-06-30"> |
| <owner>nator@chromium.org</owner> |
| <owner>peter@chromium.org</owner> |
| <owner>rayankans@chromium.org</owner> |
| <summary> |
| The time taken between dispatching a BackgroundFetchSuccessEvent to a |
| Service Worker and receiving a message that it finished handling the event. |
| Includes the time for the waitUntil() promise to settle. This event is sent |
| when the background fetch succeeds. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.BackgroundSyncEvent.Time" units="ms" |
| expires_after="2022-06-30"> |
| <owner>nator@chromium.org</owner> |
| <owner>rayankans@chromium.org</owner> |
| <summary> |
| The time taken between dispatching a SyncEvent to a Service Worker and |
| receiving a message that it finished handling the event. Includes the time |
| for the waitUntil() promise to settle. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.CacheStorageInstalledScript.CachedMetadataSize" |
| units="bytes" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The length of cached metadata of scripts which are stored to the |
| CacheStorage by the installing service worker. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.CacheStorageInstalledScript.CachedMetadataTotalSize" |
| units="bytes" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The total length of cached metadata of scripts which are stored to the |
| CacheStorage by the installing service worker. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.CacheStorageInstalledScript.Count" units="count" |
| expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The counts of scripts which are stored to the CacheStorage by the installing |
| service worker. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.CacheStorageInstalledScript.ScriptSize" |
| units="bytes" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The length of scripts which are stored to the CacheStorage by the installing |
| service worker. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.CacheStorageInstalledScript.ScriptTotalSize" |
| units="bytes" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The total length of scripts which are stored to the CacheStorage by the |
| installing service worker. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.CanMakePaymentEvent.Time" units="ms" |
| expires_after="2023-10-18"> |
| <owner>rouslan@chromium.org</owner> |
| <owner>web-payments-team@google.com</owner> |
| <owner>jinho.bang@samsung.com</owner> |
| <summary> |
| The time taken between dispatching an CanMakePaymentEvent to a Service |
| Worker and receiving a message that it finished handling the event. Includes |
| the time for the waitUntil() promise to settle. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.Database.DestroyDatabaseResult" |
| enum="ServiceWorkerDatabaseStatus" expires_after="2023-10-09"> |
| <owner>yyanagisawa@google.com</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Records result of destroy database operations in ServiceWorkerDatabase. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.Database.OpenResult" |
| enum="ServiceWorkerDatabaseStatus" expires_after="never"> |
| <!-- expires-never: core storage metric; consumed in separate dashboard (go/chrome-storage-dashboard) --> |
| |
| <owner>yyanagisawa@google.com</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Records result of opening a database for ServiceWorkerDatabase. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.Database.ReadResult" |
| enum="ServiceWorkerDatabaseStatus" expires_after="2023-10-09"> |
| <owner>yyanagisawa@google.com</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary>Records result of read operations in ServiceWorkerDatabase.</summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.Database.WriteResult" |
| enum="ServiceWorkerDatabaseStatus" expires_after="2023-10-09"> |
| <owner>yyanagisawa@google.com</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Records result of write operations in ServiceWorkerDatabase. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.DiskCache.InitResult" units="units" |
| expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Records result of opening a disk cache for ServiceWorkerDiskCache. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.DiskCache.ReadResponseResult" |
| enum="ServiceWorkerReadResponseResult" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Records result of reading response from ServiceWorkerDiskCache. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.DiskCache.WriteResponseResult" |
| enum="ServiceWorkerWriteResponseResult" expires_after="2024-03-28"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Records result of writing response into ServiceWorkerDiskCache. This is not |
| recorded when response has no body. Note that this is recorded on every |
| write operation, and can there can be multiple write operations for the same |
| response if it is large enough. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.EmbeddedWorkerInstanceClient.StartWorker" |
| enum="ServiceWorkerRendererStartWorker" expires_after="M81"> |
| <owner>panicker@chromium.org</owner> |
| <summary> |
| Records when StartWorker is received on the renderer. This is used to |
| surface discrepancy between StartWorker being sent on the browser side and |
| not getting received by renderer. |
| EmbeddedWorkerInstance.Start.TimeToSendStartWorker should be used as a |
| baseline. TODO(panicker): This should be removed after investigation of |
| crbug/790903, potentially in M68. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.EvaluateTopLevelScript.{ResultStatus}.Time" |
| units="ms" expires_after="2023-10-01"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Execution time of the service worker's top level script. The metric is |
| recorded for each startup of service workers. Recorded only when the |
| evaluation was {ResultStatus}. |
| </summary> |
| <token key="ResultStatus"> |
| <variant name="Failed" summary="failed"/> |
| <variant name="Succeeded" summary="succeeded"/> |
| </token> |
| </histogram> |
| |
| <histogram name="ServiceWorker.ExtendableMessageEvent.Time" units="ms" |
| expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken between dispatching an ExtendableMessageEvent to a Service |
| Worker and receiving a message that it finished handling the event. Includes |
| the time for the waitUntil() promise to settle. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.FetchEvent.Fallback.Time" units="ms" |
| expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken between dispatching a FetchEvent to a Service Worker and |
| receiving a fallback-to-network reply. |
| |
| This histogram was expired between roughly 2021-08-01 and 2021-09-30. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.FetchEvent.HasResponse.Time" units="ms" |
| expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken between dispatching a FetchEvent to a Service Worker and |
| receiving a response. Includes the time for the respondWith() promise to |
| settle. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.FetchEvent.MainResource.Status" |
| enum="ServiceWorkerStatusCode" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The result of dispatching a fetch event to a Service Worker for a main |
| resource request (i.e., a request for a navigation or a shared worker). |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.FetchEvent.QueuingTime" units="ms" |
| expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time that a fetch event was queued. The start time is when the event is |
| created on the service worker thread and added to the |
| ServiceWorkerEventQueue. The end time is when the event is dequeued and the |
| event handler starts to execute. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.FetchEvent.Subresource.Status" |
| enum="ServiceWorkerStatusCode" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The result of dispatching a fetch event to a Service Worker for a |
| subresource request (i.e., not a navigation or a shared worker request). |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.FetchEvent.{Resource}.FetchResponseFrom" |
| enum="ServiceWorkerFetchResponseFrom" expires_after="2023-10-20"> |
| <owner>sisidovski@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The result of the RaceNetworkRequest. RaceNetworkRequest runs a race between |
| the network request which bypasses ServiceWorker, and the other request |
| which goes through the fetch handler. This metric is recorded for |
| {Resource}. |
| </summary> |
| <token key="Resource"> |
| <variant name="MainResource" summary="main resource"/> |
| <variant name="Subresource" summary="subresource"/> |
| </token> |
| </histogram> |
| |
| <histogram name="ServiceWorker.FetchHandler.SkipReason" |
| enum="ServiceWorkerFetchHandlerSkipReason" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The reason why the service worker fetch handler has been skipped. If the |
| fetch handler has not been skipped for any reasons, it is just recorded as |
| not skipped instead. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.FetchHandler.TypeAtContinueWithActivatedVersion" |
| enum="ServiceWorkerFetchHandlerType" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The type of the fetch handler recorded just before dispatching the fetch |
| handler. This represent the fetch handler type, and does not represent if |
| the fetch handler is skipped or not. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.FindRegistrationForClientUrl.IsCalledForNavigation" |
| enum="Boolean" expires_after="2023-12-01"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Whether FindRegistrationForClientUrl() is called for navigation or not. This |
| is recorded when FindRegistrationForClientUrl() function is called. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.FindRegistrationForClientUrl.SkippedMojoCall.OnNavigation" |
| enum="BooleanSkipped" expires_after="2023-12-01"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Whether FindRegistrationForClientUrl() could skip calling mojo API by using |
| scope cache. This is recorded only when FindRegistrationForClientUrl() is |
| used for navigation. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.FindRegistrationForClientUrl.Time" units="ms" |
| expires_after="2023-10-01"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Execution time of FindRegistrationForClientUrl until continuation is called. |
| The metric is not recorded during startup. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.FoundServiceWorkerRegistrationOnNavigation" |
| enum="BooleanFound" expires_after="2023-12-01"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Whether ServiceWorkerControlleeRequestHandler::MaybeCreateLoader found a |
| service worker registration after looking up the registration by using |
| FindRegistrationForClientUrl. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.InstallEvent.All.FetchCount" units="fetches" |
| expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The number of network fetches performed by the install event handler. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.InstallEvent.{type}.Status" |
| enum="ServiceWorkerStatusCode" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The result of dispatching the install event to the worker. This histogram |
| includes data for {type}. |
| </summary> |
| <token key="type"> |
| <variant name="All" summary="all install events"/> |
| <variant name="WithFetch" |
| summary="install events that made network fetches"/> |
| </token> |
| </histogram> |
| |
| <histogram name="ServiceWorker.InstallEvent.{type}.Time" units="ms" |
| expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken between dispatching an InstallEvent to a Service Worker and |
| receiving a message that it finished handling the event. Includes the time |
| for the waitUntil() promise to settle. This histogram includes data for |
| {type}. |
| </summary> |
| <token key="type"> |
| <variant name="All" summary="all install events"/> |
| <variant name="WithFetch" |
| summary="install events that made network fetches"/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.LoadTiming.MainFrame.MainResource.FetchHandlerEndToFallbackNetwork{EmbeddedWorkerInitialStatus}" |
| units="ms" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken from (a) renderer process sends an IPC message to notify that |
| a resource loading request needs to be fall back to network, to (b) browser |
| process received the IPC. Recorded when no fetch event handler provided a |
| response to the request. |
| |
| Recorded for each navigation request (including redirects) where there is a |
| fetch event handler and the fetch event was successfully dispatched to the |
| service worker. |
| |
| {EmbeddedWorkerInitialStatus} |
| </summary> |
| <token key="EmbeddedWorkerInitialStatus" |
| variants="EmbeddedWorkerInitialStatus"/> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.LoadTiming.MainFrame.MainResource.FetchHandlerEndToResponseReceived{EmbeddedWorkerInitialStatus}" |
| units="ms" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken from (a) renderer process sends an IPC message to notify that |
| a promise of respondWith() is settled, to (b) browser process received the |
| IPC message. Recorded when a fetch event handler handled the request and |
| provided a response to the request. |
| |
| Recorded for each navigation request (including redirects) where there is a |
| fetch event handler and the fetch event was successfully dispatched to the |
| service worker. |
| |
| {EmbeddedWorkerInitialStatus} |
| </summary> |
| <token key="EmbeddedWorkerInitialStatus" |
| variants="EmbeddedWorkerInitialStatus"/> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.LoadTiming.MainFrame.MainResource.FetchHandlerStartToFetchHandlerEndByFetchResult_{ServiceWorkerFetchEventResult}" |
| units="ms" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken from (a) a fetch event is dispatched, to (b) respondWith() is |
| settled for the fetch event, or fetch event dispatch is finished without |
| respondWith() being called. |
| |
| Recorded for each navigation request (including redirects) where there is a |
| fetch event handler and the fetch event was successfully dispatched to the |
| service worker. |
| |
| The records are breakdown by FetchEventResult. |
| </summary> |
| <token key="ServiceWorkerFetchEventResult" |
| variants="ServiceWorkerFetchEventResult"/> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.LoadTiming.MainFrame.MainResource.FetchHandlerStartToFetchHandlerEnd{EmbeddedWorkerInitialStatus}" |
| units="ms" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken from (a) a fetch event is dispatched, to (b) respondWith() is |
| settled for the fetch event, or fetch event dispatch is finished without |
| respondWith() being called. |
| |
| Recorded for each navigation request (including redirects) where there is a |
| fetch event handler and the fetch event was successfully dispatched to the |
| service worker. |
| |
| {EmbeddedWorkerInitialStatus} |
| </summary> |
| <token key="EmbeddedWorkerInitialStatus" |
| variants="EmbeddedWorkerInitialStatus"/> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.LoadTiming.MainFrame.MainResource.ForwardServiceWorkerToWorkerReady2{EmbeddedWorkerInitialStatus}{NavigationType}" |
| units="ms" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken from (a) a resource loading request is routed to service |
| worker path, to (b) a service worker is ready to handle the request. |
| |
| Recorded for each navigation request (including redirects) where there is a |
| fetch event handler and the fetch event was successfully dispatched to the |
| service worker. |
| |
| {EmbeddedWorkerInitialStatus}{NavigationType} |
| </summary> |
| <token key="EmbeddedWorkerInitialStatus" |
| variants="EmbeddedWorkerInitialStatus"/> |
| <token key="NavigationType" variants="NavigationType"/> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.LoadTiming.MainFrame.MainResource.ResponseReceivedToCompleted2{ServiceWorkerResponseSource}{EmbeddedWorkerInitialStatus}" |
| units="ms" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken from (a) response headers from service worker are received, |
| to (b) reading response body is completed. Recorded when a fetch event |
| handler handled the request. |
| |
| Recorded for each navigation request (including redirects) where there is a |
| fetch event handler and the fetch event was successfully dispatched to the |
| service worker. |
| |
| {ServiceWorkerResponseSource} {EmbeddedWorkerInitialStatus} |
| </summary> |
| <token key="ServiceWorkerResponseSource" |
| variants="ServiceWorkerResponseSource"/> |
| <token key="EmbeddedWorkerInitialStatus" |
| variants="EmbeddedWorkerInitialStatus"/> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.LoadTiming.MainFrame.MainResource.StartToCompleted{EmbeddedWorkerInitialStatus}" |
| units="ms" expires_after="2023-10-01"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken from (a) the start of a navigation request, to (b) reading |
| response body is completed. Recorded when a fetch event handler handled the |
| request. |
| |
| Recorded for each navigation request (including redirects) where there is a |
| fetch event handler and the fetch event was successfully dispatched to the |
| service worker. |
| |
| {EmbeddedWorkerInitialStatus} |
| </summary> |
| <token key="EmbeddedWorkerInitialStatus" |
| variants="EmbeddedWorkerInitialStatus"/> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.LoadTiming.MainFrame.MainResource.StartToFallbackNetwork{EmbeddedWorkerInitialStatus}" |
| units="ms" expires_after="2023-10-01"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken from (a) the start of a navigation request, to (b) browser |
| process received the IPC. Recorded when no fetch event handler provided a |
| response to the request. |
| |
| Recorded for each navigation request (including redirects) where there is a |
| fetch event handler and the fetch event was successfully dispatched to the |
| service worker. |
| |
| {EmbeddedWorkerInitialStatus} |
| </summary> |
| <token key="EmbeddedWorkerInitialStatus" |
| variants="EmbeddedWorkerInitialStatus"/> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.LoadTiming.MainFrame.MainResource.StartToForwardServiceWorker{EmbeddedWorkerInitialStatus}" |
| units="ms" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken from (a) the start of a navigation request, to (b) the |
| request is forwarded to a service worker code path. This includes looking up |
| a service worker registration and throttling. |
| |
| Recorded for each navigation request (including redirects) where there is a |
| fetch event handler and the fetch event was successfully dispatched to the |
| service worker. |
| |
| {EmbeddedWorkerInitialStatus} |
| </summary> |
| <token key="EmbeddedWorkerInitialStatus" |
| variants="EmbeddedWorkerInitialStatus"/> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.LoadTiming.MainFrame.MainResource.WorkerReadyToFetchHandlerStart{EmbeddedWorkerInitialStatus}" |
| units="ms" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken from (a) browser process sends an IPC message to dispatch a |
| fetch event, to (b) a renderer process received the IPC message and is about |
| to dispatch a fetch event. |
| |
| Recorded for each navigation request (including redirects) where there is a |
| fetch event handler and the fetch event was successfully dispatched to the |
| service worker. |
| |
| {EmbeddedWorkerInitialStatus} |
| </summary> |
| <token key="EmbeddedWorkerInitialStatus" |
| variants="EmbeddedWorkerInitialStatus"/> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.LoadTiming.Subresource.FetchHandlerEndToFallbackNetwork" |
| units="ms" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken from (a) service worker sends a mojo message to notify that a |
| resource loading request needs to be fall back to network, to (b) the mojo |
| message is received on the other side of mojo endpoint (a background thread |
| executing subresource loading). Recorded when no fetch event handler |
| provided a response to the request. |
| |
| Recorded for each subresource request where there is a fetch event handler |
| and the fetch event was successfully dispatched to the service worker. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.LoadTiming.Subresource.FetchHandlerEndToResponseReceived" |
| units="ms" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken from (a) service worker sends a mojo message to notify that a |
| promise of respondWith() is settled, to (b) the mojo message is received on |
| the other side of mojo endpoint (a background thread executing subresource |
| loading). Recorded when a fetch event handler handled the request and |
| provided a response to the request. |
| |
| Recorded for each subresource request where there is a fetch event handler |
| and the fetch event was successfully dispatched to the service worker. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.LoadTiming.Subresource.ForwardServiceWorkerToWorkerReady" |
| units="ms" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken from (a) a subresource request is routed to the URLLoader (on |
| a background thread) for service worker controlled loads starts handling a |
| subresource request, to (b) a service worker is ready to handle the request. |
| |
| Recorded for each subresource request where there is a fetch event handler |
| and the fetch event was successfully dispatched to the service worker. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.LoadTiming.Subresource.ResponseReceivedToCompleted2" |
| units="ms" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken from (a) response headers from service worker are received, |
| to (b) reading response body is completed. Only recorded when a fetch event |
| handler handled the request. |
| |
| Recorded for each subresource request where there is a fetch event handler |
| and the fetch event was successfully dispatched to the service worker. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.LoadTiming.Subresource.WorkerReadyToFetchHandlerEnd" |
| units="ms" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken from (a) a fetch event is dispatched, to (b) respondWith() is |
| settled for the fetch event, or fetch event dispatch is finished without |
| respondWith() being called. |
| |
| Recorded for each subresource request where there is a fetch event handler |
| and the fetch event was successfully dispatched to the service worker. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.LoadTopLevelScript.{ResultStatus}.{WhetherAlreadyInstalledOrNot}.Time" |
| units="ms" expires_after="2023-10-01"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Loading time of the service worker's top level script. The metric is |
| recorded for each startup of service workers. Recorded only when the loading |
| was {ResultStatus}, and the service worker scripts were |
| {WhetherAlreadyInstalledOrNot}. |
| </summary> |
| <token key="WhetherAlreadyInstalledOrNot"> |
| <variant name="AlreadyInstalled" summary="already installed"/> |
| <variant name="NewlyInstalled" summary="newly installed"/> |
| </token> |
| <token key="ResultStatus"> |
| <variant name="FailedToFetchClassicScript" |
| summary="failed to fetch classic script"/> |
| <variant name="FailedToFetchModuleScript" |
| summary="failed to fetch module script"/> |
| <variant name="Succeeded" summary="succeeded"/> |
| </token> |
| </histogram> |
| |
| <histogram name="ServiceWorker.MainFrame.MainResource.FetchResult" |
| enum="ServiceWorkerFetchEventResult" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Records the fetch result after the fetch handler has been dispatched. This |
| is recorded after dispatching the fetch event handler to a service worker, |
| and it executed the handler without error (i.e. abort or timeout). |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.MaybeStartWorker.Purpose" |
| enum="ServiceWorkerMetrics.EventType" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Records the purpose for potentially starting a service worker. This is |
| recorded every time a running worker is required whether it needs to be |
| started or not in the ServiceWorkerVersion::RunAfterStartWorker() method. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.MaybeStartWorker.RunningStatus" |
| enum="EmbeddedWorkerStatus" expires_after="2023-10-08"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Record the current status of a service worker when we need it to be running |
| for some purpose. If the status is STOPPED or STOPPING then the service |
| worker will be started. This is recorded from |
| ServiceWorkerVersion::RunAfterStartWorker(). |
| |
| See also ServiceWorker.MaybeStartWorker.RunningStatusByPurpose_* for the |
| breakdown by event type. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.MaybeStartWorker.RunningStatusByPurpose_{ServiceWorkerEventType}" |
| enum="EmbeddedWorkerStatus" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Record the current status of a service worker when we need it to be running |
| broken down by the purpose for needing a worker. If the status is STOPPED or |
| STOPPING then the service worker will be started. This is recorded from |
| ServiceWorkerVersion::RunAfterStartWorker(). (see |
| ServiceWorker.MaybeStartWorker.RunningStatus for all attempts). |
| </summary> |
| <token key="ServiceWorkerEventType" variants="ServiceWorkerEventType"/> |
| </histogram> |
| |
| <histogram name="ServiceWorker.NumberOfRegisteredFetchHandlers" |
| units="handlers" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The number of fetch handlers registered in a service worker script. This |
| metrics is recorded every time a service worker starts and only includes |
| fetch event handlers registered at script evaluation time. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.OnBrowserStartup.FirstFindRegistrationForClientUrl.Time" |
| units="ms" expires_after="2023-10-01"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Execution time of FindRegistrationForClientUrl until continuation is called. |
| It is recorded only once on browser startup. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.OnBrowserStartup.SkipServiceWorkerOnFirstNavigation" |
| enum="BooleanSkipped" expires_after="2023-10-01"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Whether the first navigation requires checking the existence of service |
| worker registration in DB. It is recorded only once on browser startup. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.OnStarted.UpdatedFetchHandlerType" |
| enum="ServiceWorkerFetchHandlerType" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The type of the fetch handler type to be stored in the database for update. |
| |
| During the start of ServiceWorker, the fetch handler type is decided, and |
| sent via OnStarted. If the fetch handler type is different from the fetch |
| handler type already recognized and stored before, it will eventually be |
| updated when it is read from the database next time. |
| |
| This metrics records the name of the new fetch handler detected. |
| ServiceWorker.OnStarted.UpdatedFetchHandlerTypeBySourceType_* for the |
| breakdown by the source fetch handler type. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.OnStarted.UpdatedFetchHandlerTypeBySourceType_{SourceType}" |
| enum="ServiceWorkerFetchHandlerType" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The type of the fetch handler type to be stored in the database for update |
| per the source fetch handler type {SourceType} (See |
| ServiceWorker.OnStarted.UpdatedFetchHandlerType for all attenpts). |
| |
| During the start of ServiceWorker, the fetch handler type is decided, and |
| sent via OnStarted. If the fetch handler type is different from the fetch |
| handler type already recognized and stored before, it will eventually be |
| updated when it is read from the database next time. |
| |
| This metrics records the name of the new fetch handler detected. |
| </summary> |
| <token key="SourceType"> |
| <variant name="EMPTY_FETCH_HANDLER" |
| summary="skippable empty fetch handler"/> |
| <variant name="NO_HANDLER" summary="no fetch handler"/> |
| <variant name="NOT_SKIPPABLE" summary="not skippable fetch handler"/> |
| </token> |
| </histogram> |
| |
| <histogram name="ServiceWorker.PaymentRequestEvent.Time" units="ms" |
| expires_after="2023-10-18"> |
| <owner>rouslan@chromium.org</owner> |
| <owner>web-payments-team@google.com</owner> |
| <owner>jinho.bang@samsung.com</owner> |
| <summary> |
| The time taken between dispatching an PaymentRequestEvent to a Service |
| Worker and receiving a message that it finished handling the event. Includes |
| the time for the waitUntil() promise to settle. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.PeriodicBackgroundSyncEvent.Time" units="ms" |
| expires_after="2023-10-01"> |
| <owner>nator@chromium.org</owner> |
| <owner>platform-capabilities@chromium.org</owner> |
| <summary> |
| The time taken between dispatching a PeriodicSyncEvent to a Service Worker |
| and receiving a message that it finished handling the event. Includes the |
| time for the waitUntil() promise to settle. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.PushEvent.Time" units="ms" |
| expires_after="2022-10-30"> |
| <owner>peter@chromium.org</owner> |
| <owner>knollr@chromium.org</owner> |
| <summary> |
| The time taken between dispatching a PushEvent to a Service Worker and |
| receiving a message that it finished handling the event. Includes the time |
| for the waitUntil() promise to settle. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.RegisteredStorageKeyCount" units="origins" |
| expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The number of StorageKeys that have a service worker registration. Recorded |
| near browser startup, when the service worker storage system is initialized. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.ResourceSha256Checksums.Update.Status" |
| enum="ServiceWorkerStatusCode" expires_after="2023-10-10"> |
| <owner>sisidovski@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The result of the checksum update operation. Each ServiceWorker resource |
| should have a sha256 cehcksum hash string in the database, and that will be |
| updated when there is a change in ServiceWorker scripts, or the field is |
| empty. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.SkipCallingFindRegistrationForClientUrl" |
| enum="BooleanSkipped" expires_after="2023-10-01"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Whether the navigation requires checking the existence of service worker |
| registration by using FindRegistrationForClientUrl(). This metric is not |
| recorded during startup. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.StartNewWorker.Time" units="ms" |
| expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken to start a Service Worker that has not yet installed, from |
| process allocation to ACK of started from the renderer (which occurs after |
| script execution). This may include script download time. The metric is not |
| recorded if DevTools was ever attached to the Service Worker during startup. |
| See also ServiceWorker.StartWorker.Time for installed workers. |
| |
| This histogram was expired between approximately Feb through Sep 2021. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.StartTiming.ClockConsistency" |
| enum="CrossProcessTimeDelta" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Recorded on each successful service worker startup. |
| ServiceWorker.StartTiming.* uses timing data from both the renderer process |
| and browser process. This histogram describes whether the clocks are known |
| to be accurate and consistent accross processes, and whether the actual |
| timing data for this worker startup was consistent, i.e., TimeTicks did not |
| go backwards. |
| |
| If the clocks and timing were inconsistent, ServiceWorker.StartTiming.* |
| metrics (other than this one) are not recorded. |
| |
| This histogram was expired between roughly 2021-07-30 and 2021-09-31. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.StartTiming.Duration" units="ms" |
| expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken to start a service worker that is already installed, from |
| start of the start sequence (finding a renderer) to ACK of started from the |
| renderer (which occurs after script execution). The metric is not recorded |
| if DevTools was ever attached to the Service Worker during startup. It does |
| not include time, if any, waiting for the service worker to finish stopping |
| before asking it to start, if that occurred. |
| |
| This histogram was expired between roughly 2021-07-30 and 2021-09-31. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.StartTiming.ReceivedStartWorkerToScriptEvaluationStart" |
| units="ms" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken from (a) the renderer receiving the start worker IPC message, |
| to (b) initial JavaScript evaluation starting on the worker thread. Recorded |
| when ServiceWorker.StartTiming.Duration is recorded. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.StartTiming.ScriptEvaluationEndToEnd" units="ms" |
| expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken from (a) initial JavaScript evaluation finishing on the |
| worker thread, to (b) the browser receiving the worker started IPC message |
| (the final step of worker startup). Recorded when |
| ServiceWorker.StartTiming.Duration is recorded. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.StartTiming.ScriptEvaluationStartToScriptEvaluationEnd" |
| units="ms" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken from (a) initial JavaScript evaluation starting on the worker |
| thread, to (b) initial JavaScript evaluation finishing on the worker thread. |
| Recorded when ServiceWorker.StartTiming.Duration is recorded. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.StartTiming.SentStartWorkerToReceivedStartWorker" |
| units="ms" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken from (a) the browser sending the start worker IPC message, to |
| (b) the renderer receiving the start worker IPC message. Recorded when |
| ServiceWorker.StartTiming.Duration is recorded. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.StartTiming.StartToReceivedStartWorker" |
| units="ms" expires_after="2023-10-23"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken from (a) the start of service worker startup, to (b) the |
| renderer receiving the start worker IPC message. Recorded when |
| ServiceWorker.StartTiming.Duration is recorded. |
| |
| This histogram was expired between roughly 2021-07-30 and 2021-09-31. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.StartTiming.StartToScriptEvaluationEnd" |
| units="ms" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken from (a) the start of service worker startup, to (b) initial |
| JavaScript evaluation finishing on the worker thread. Recorded when |
| ServiceWorker.StartTiming.Duration is recorded. |
| |
| This histogram was expired between roughly 2021-07-30 and 2021-09-31. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.StartTiming.StartToScriptEvaluationStart" |
| units="ms" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken from (a) the start of service worker startup, to (b) initial |
| JavaScript evaluation starting on the worker thread. Recorded when |
| ServiceWorker.StartTiming.Duration is recorded. |
| |
| This histogram was expired between roughly 2021-07-30 and 2021-09-31. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.StartTiming.StartToSentStartWorker" units="ms" |
| expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken from (a) the start of service worker startup, to (b) the |
| browser sending the start worker IPC message. Recorded when |
| ServiceWorker.StartTiming.Duration is recorded. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.StartWorker.Purpose" |
| enum="ServiceWorkerMetrics.EventType" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The purpose for starting up a service worker. Recorded only for installed |
| workers. |
| |
| This histogram was expired between approximately Feb through Sep 2021. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.StartWorker.Status" |
| enum="ServiceWorkerStatusCode" expires_after="2023-10-08"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The result of trying to start a Service Worker that is already installed. |
| See also ServiceWorker.StartNewWorker.Status for new workers. See also |
| ServiceWorker.StartWorker.StatusByPurpose_* for the breakdown by event type. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.StartWorker.StatusByPurpose_{ServiceWorkerEventType}" |
| enum="ServiceWorkerStatusCode" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The result of trying to start a service worker for the event type |
| {ServiceWorkerEventType} (see ServiceWorker.StartWorker.Status for all start |
| attempts). Only recorded for installed workers. |
| </summary> |
| <token key="ServiceWorkerEventType" variants="ServiceWorkerEventType"/> |
| </histogram> |
| |
| <histogram name="ServiceWorker.StartWorker.Time" units="ms" |
| expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken to start a Service Worker that is already installed, from |
| process allocation to ACK of started from the renderer (which occurs after |
| script execution). The metric is not recorded if DevTools was ever attached |
| to the Service Worker during startup. See also |
| ServiceWorker.StartNewWorker.Time for new workers. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.StartWorker.Timeout.StartPurpose" |
| enum="ServiceWorkerMetrics.EventType" expires_after="2023-10-30"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Records the start purpose for a service worker that timed out while starting |
| up. Recorded only for installed workers. |
| |
| This histogram was expired between approximately Feb through Sep 2021. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.StartWorker.TimeoutPhase" |
| enum="EmbeddedWorkerStartingPhase" expires_after="2023-10-30"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The phase the ServiceWorker was in when ServiceWorker startup timed out. |
| |
| This histogram was expired between approximately Feb through Sep 2021. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.Storage.DeleteAndStartOverResult" |
| enum="ServiceWorkerDeleteAndStartOverResult" expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Records result of storage recovery operations in ServiceWorkerStorage. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.Storage.FindForClientUrlInDB.ScopeCountForStorageKey" |
| units="count" expires_after="2023-12-01"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The scope count for a given StorageKey. This is recorded when |
| ServiceWorkerStorage::FindForClientUrlInDB() function is called. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.Storage.FindForClientUrlInDB.Time" units="ms" |
| expires_after="2023-10-01"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Execution time of ServiceWorkerStorage::FindForClientUrlInDB which is used |
| by FindRegistrationForClientUrl. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.Storage.PurgeResourceResult" |
| enum="NetErrorCodes" expires_after="2023-10-01"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Records successes and failures of purging a stale resource in |
| ServiceWorkerStorage. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.Storage.ReadInitialDataFromDB.Time" units="ms" |
| expires_after="2023-10-01"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Execution time of ServiceWorkerStorage::ReadInitialDataFromDB which reads |
| RegisteredStorageKey from a database. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorker.Storage.RegisteredStorageKeyCacheInitialization.Time" |
| units="ms" expires_after="2023-10-01"> |
| <owner>chikamune@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The cache creation time of service worker registration key on UI thread. |
| Includes asynchronous call, thread hopping and the time of |
| ServiceWorker.Storage.ReadInitialDataFromDB.Time. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.Storage.RetryCountForRecovery" units="retries" |
| expires_after="2023-10-01"> |
| <owner>yyanagisawa@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The counts of retries to recover after a Storage Service crash. Logged after |
| a recovery, or the maximum number of retries is exceeded. See |
| ServiceWorkerRegistry::OnRemoteStorageDisconnected() for the maximum number |
| of retries. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.Storage.RetryQueueSizeForRecovery" units="tasks" |
| expires_after="2022-10-04"> |
| <owner>joenotcharles@google.com</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The number of queued tasks that are waiting to be re-posted after recovering |
| from a Storage Service crash. Logged at the same time as |
| ServiceWorker.Storage.RetryCountForRecovery. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.Subresource.Fallbacked.Type2" |
| enum="ResourceType" expires_after="2023-10-01"> |
| <owner>yyanagisawa@google.com</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Type of subresources that is controlled with a service worker, but did not |
| handled by a service worker (i.e. did not get replied via respondWith). This |
| metric is taken every time a subresource load finishes. |
| |
| See ServiceWorker.Subresource.Handled.Type for handled cases. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.Subresource.Handled.Type2" enum="ResourceType" |
| expires_after="2023-10-01"> |
| <owner>yyanagisawa@google.com</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| Type of subresources that is controlled with a service worker, and handled |
| by a service worker (i.e. get replied via respondWith). This metric is taken |
| every time a subresource load finishes. |
| |
| See ServiceWorker.Subresource.Fallbacked.Type for fallbacked cases. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.WorkaroundForCrBug1342408Applied" units="cases" |
| expires_after="2023-10-01"> |
| <owner>yyanagisawa@google.com</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| True if the workaround for crbug.com/1342408 has been applied. Otherwise, |
| false. The workaround is applied when the response stream call back is |
| called. |
| |
| This information is used to understand if we need to continue this |
| workaround or not. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorker.{operation}Time" units="ms" |
| expires_after="2023-10-01"> |
| <owner>cduvall@chromium.org</owner> |
| <owner>chrome-worker@google.com</owner> |
| <summary> |
| The time taken to query the content settings in the browser process for the |
| {operation} operation. This is recorded each time a sync call is made. |
| </summary> |
| <token key="operation"> |
| <variant name="AllowCacheStorage"/> |
| <variant name="AllowIndexedDB"/> |
| <variant name="AllowWebLocks"/> |
| <variant name="RequestFileSystemAccess"/> |
| </token> |
| </histogram> |
| |
| <histogram name="ServiceWorkerCache.Cache.Browser.Match.Initialized" units="ms" |
| expires_after="2024-03-23"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The time to perform a 'match' operation on a given Cache when that cache is |
| known to be fully initialized. This includes measurements for hits, misses, |
| and errors. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorkerCache.Cache.Browser.Match.RelatedFetchEvent" |
| units="ms" expires_after="2024-03-23"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The time to perform a 'match' operation on a given Cache when the operation |
| was initiated from a service worker currently processing a FetchEvent with a |
| matching request URL. This includes measurements for hits, misses, and |
| errors. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorkerCache.Cache.{ServiceWorkerCacheProcessType}.Match.{MatchType}" |
| units="ms" expires_after="2024-03-23"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The time to perform 'match' operations of type {MatchType} on the Cache |
| object in the ServiceWorker Cache API. This histogram was temporarily |
| disabled from M96 through early 12/2021. |
| </summary> |
| <token key="ServiceWorkerCacheProcessType" |
| variants="ServiceWorkerCacheProcessType"/> |
| <token key="MatchType"> |
| <variant name="Hit" |
| summary="The time to perform a 'match' operation on a given Cache |
| that successfully results in a Response."/> |
| <variant name="IgnoreSearch" |
| summary="The time to perform a 'match' operation on a given Cache |
| with the 'ignoreSearch' option set. This includes |
| measurements for hits, misses, and errors."/> |
| <variant name="Miss" |
| summary="The time to perform a 'match' operation on a given Cache |
| that completes successfully, but does not find a matching |
| entry."/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorkerCache.Cache.{ServiceWorkerCacheProcessType}.{ProcessOps}" |
| units="ms" expires_after="2024-03-23"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The time to perform the {ProcessOps} operation on the Cache object in the |
| ServiceWorker Cache API. This histogram was temporarily disabled from M96 |
| through early 12/2021. |
| </summary> |
| <token key="ServiceWorkerCacheProcessType" |
| variants="ServiceWorkerCacheProcessType"/> |
| <token key="ProcessOps"> |
| <variant name="DeleteOne" |
| summary="The time to delete a single Request/Response entry from a |
| Cache. This measurement includes times for both existing or |
| non-existant entries."/> |
| <variant name="Keys" |
| summary="The time to perform the 'keys' operation on a given Cache. |
| This includes measurements for both invocations targeting |
| all entries or only entries for a specific request |
| parameter."/> |
| <variant name="Match" |
| summary="The time to perform a 'match' operation on a given Cache. |
| This includes measurements for all invocations, including |
| hits, misses, errors, etc."/> |
| <variant name="MatchAll" |
| summary="The time to perform a 'matchAll' operation on a given Cache. |
| This includes measurements for all invocations, including |
| hits, misses, and errors. In addition requests for all Cache |
| entries and for specific request params are included |
| together in this histogram."/> |
| <variant name="PutMany" |
| summary="The time to put a multiple Request/Response entries into a |
| given Cache. This may or may not include deleting existing |
| entries that match any of the Requests. This includes |
| measurements for both successes and failures."/> |
| <variant name="PutOne" |
| summary="The time to put a single Request/Response entry into a given |
| Cache. This may or may not include deleting an existing |
| entry matching the Request. This includes measurements for |
| both successes and failures."/> |
| </token> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorkerCache.CacheStorage.{ServiceWorkerCacheProcessType}.{ProcessOps}" |
| units="ms" expires_after="2024-03-23"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The time to perform the {ProcessOps} operations on the CacheStorage object |
| in the ServiceWorker Cache API. This histogram was temporarily disabled from |
| M96 through early 12/2021. |
| </summary> |
| <token key="ServiceWorkerCacheProcessType" |
| variants="ServiceWorkerCacheProcessType"/> |
| <token key="ProcessOps"> |
| <variant name="Delete" |
| summary="The time to 'delete' a Cache from the origin's CacheStorage. |
| If the Cache is still in use then the actual deletion may be |
| deferred until the last reference is dropped. Additional |
| time due to deferral is not included in this measurement."/> |
| <variant name="Has" |
| summary="The time to perform the 'has' operation on the origin's |
| CacheStorage."/> |
| <variant name="Keys" |
| summary="The time to perform the 'keys' operation on the origin's |
| CacheStorage."/> |
| <variant name="MatchAllCaches" |
| summary="The time to perform a 'match' operation against all caches |
| associated with the origin's CacheStorage. This histogram |
| includes measurements for hits, misses, and errors."/> |
| <variant name="MatchOneCache" |
| summary="The time to perform a 'match' operation against a single |
| cache associated with the origin's CacheStorage. This |
| histogram includes measurements for hits, misses, and |
| errors."/> |
| <variant name="Open" |
| summary="The time to 'open' a Cache in the origin's CacheStorage. |
| Some opening operations may happen asynchronously after the |
| 'open' returns a Cache object. That deferred asynchronous |
| work is not included in this measurement."/> |
| </token> |
| </histogram> |
| |
| <histogram name="ServiceWorkerCache.CreateCacheStorageResult" |
| enum="BooleanCreated" expires_after="M77"> |
| <owner>jkarlin@chromium.org</owner> |
| <summary> |
| Whether a new ServiceWorkerCacheStorage and its directory were successfully |
| created on disk. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorkerCache.ErrorStorageType" |
| enum="CacheStorageErrorStorageType" expires_after="2024-03-23"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| Records where the generic kErrorStorage value is triggered within the |
| cache_storage code. This histogram was temporarily disabled from late |
| 10/2021 to early 12/2021. |
| </summary> |
| </histogram> |
| |
| <histogram name="ServiceWorkerCache.ListOriginsIndexValidity" |
| enum="CacheStorageIndexResult" expires_after="2024-03-23"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The result from parsing and validating the index protobuf while calculating |
| the list of cache_storage origins. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorkerCache.{ServiceWorkerCacheClientType}.Scheduler.OperationDuration2" |
| units="ms" expires_after="2024-03-23"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The time in ms from when an operation is started until it completes. This |
| histogram differs from the old OperationDuration in that it uses a different |
| bucket size to measure longer values. |
| </summary> |
| <token key="ServiceWorkerCacheClientType" |
| variants="ServiceWorkerCacheClientType"/> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorkerCache.{ServiceWorkerCacheClientType}.Scheduler.QueueDuration2" |
| units="ms" expires_after="2024-03-23"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The time in ms from when an operation is started until it completes. This |
| histogram differs from the old OperationDuration in that it uses a different |
| bucket size to measure longer values. |
| </summary> |
| <token key="ServiceWorkerCacheClientType" |
| variants="ServiceWorkerCacheClientType"/> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorkerCache.{ServiceWorkerCacheClientType}.Scheduler.QueueLength" |
| units="operations" expires_after="2024-03-23"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The number of operations in the scheduling queue just before enqueuing a new |
| operation. |
| </summary> |
| <token key="ServiceWorkerCacheClientType" |
| variants="ServiceWorkerCacheClientType"/> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorkerCache.{ServiceWorkerCacheSchedulerOpClientType}.Scheduler.OperationDuration2.{ServiceWorkerSchedulerOp}" |
| units="ms" expires_after="2024-03-23"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The time in ms from when an operation is started until it completes for the |
| {ServiceWorkerCacheSchedulerOpClientType} instance. |
| </summary> |
| <token key="ServiceWorkerCacheSchedulerOpClientType" |
| variants="ServiceWorkerCacheSchedulerOpClientType"/> |
| <token key="ServiceWorkerSchedulerOp" variants="ServiceWorkerSchedulerOp"/> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorkerCache.{ServiceWorkerCacheSchedulerOpClientType}.Scheduler.QueueDuration2.{ServiceWorkerSchedulerOp}" |
| units="ms" expires_after="2024-03-23"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The time in ms from when an operation is started until it completes for the |
| {ServiceWorkerCacheSchedulerOpClientType} instance. |
| </summary> |
| <token key="ServiceWorkerCacheSchedulerOpClientType" |
| variants="ServiceWorkerCacheSchedulerOpClientType"/> |
| <token key="ServiceWorkerSchedulerOp" variants="ServiceWorkerSchedulerOp"/> |
| </histogram> |
| |
| <histogram |
| name="ServiceWorkerCache.{ServiceWorkerCacheSchedulerOpClientType}.Scheduler.QueueLength.{ServiceWorkerSchedulerOp}" |
| units="operations" expires_after="2024-03-23"> |
| <owner>ayui@chromium.org</owner> |
| <owner>chrome-owp-storage@google.com</owner> |
| <summary> |
| The number of operations in the scheduling queue just before enqueuing a new |
| operation for the {ServiceWorkerCacheSchedulerOpClientType} instance. |
| </summary> |
| <token key="ServiceWorkerCacheSchedulerOpClientType" |
| variants="ServiceWorkerCacheSchedulerOpClientType"/> |
| <token key="ServiceWorkerSchedulerOp" variants="ServiceWorkerSchedulerOp"/> |
| </histogram> |
| |
| </histograms> |
| |
| </histogram-configuration> |