| Index: content/browser/service_worker/service_worker_metrics.cc
|
| diff --git a/content/browser/service_worker/service_worker_metrics.cc b/content/browser/service_worker/service_worker_metrics.cc
|
| index c0d882d3901da91410eabf4b8c48ea3ffdae0018..64e62bbf6d1258989bfa0bb9d28f2a8d3a5f5435 100644
|
| --- a/content/browser/service_worker/service_worker_metrics.cc
|
| +++ b/content/browser/service_worker/service_worker_metrics.cc
|
| @@ -21,6 +21,19 @@ void RecordURLMetricOnUI(const GURL& url) {
|
| "ServiceWorker.ControlledPageUrl", url);
|
| }
|
|
|
| +enum EventHandledStatus {
|
| + EVENT_HANDLED,
|
| + EVENT_NOT_HANDLED,
|
| + EVENT_HANDLED_STATUS_MAX,
|
| +};
|
| +
|
| +enum PerWorkerEventHandledStatus {
|
| + NO_EVENTS_HANDLED,
|
| + SOME_EVENTS_HANDLED,
|
| + ALL_EVENTS_HANDLED,
|
| + PER_WORKER_EVENT_HANDLED_STATUS_MAX,
|
| +};
|
| +
|
| } // namespace
|
|
|
| void ServiceWorkerMetrics::CountInitDiskCacheResult(bool result) {
|
| @@ -107,13 +120,28 @@ void ServiceWorkerMetrics::RecordInstallEventStatus(
|
| SERVICE_WORKER_ERROR_MAX_VALUE);
|
| }
|
|
|
| -void ServiceWorkerMetrics::RecordEventStatus(size_t fired_events,
|
| - size_t handled_events) {
|
| +void ServiceWorkerMetrics::RecordPerWorkerEventHandledStatus(
|
| + size_t fired_events,
|
| + size_t handled_events) {
|
| if (!fired_events)
|
| return;
|
| - int unhandled_ratio = (fired_events - handled_events) * 100 / fired_events;
|
| - UMA_HISTOGRAM_PERCENTAGE("ServiceWorker.UnhandledEventRatio",
|
| - unhandled_ratio);
|
| + PerWorkerEventHandledStatus status = SOME_EVENTS_HANDLED;
|
| + if (fired_events == handled_events)
|
| + status = ALL_EVENTS_HANDLED;
|
| + else if (handled_events == 0)
|
| + status = NO_EVENTS_HANDLED;
|
| + UMA_HISTOGRAM_ENUMERATION("ServiceWorker.EventHandledStatus_PerWorker",
|
| + status, PER_WORKER_EVENT_HANDLED_STATUS_MAX);
|
| +}
|
| +
|
| +void ServiceWorkerMetrics::RecordEventHandledStatus(bool handled) {
|
| + if (handled) {
|
| + UMA_HISTOGRAM_ENUMERATION("ServiceWorker.EventHandledStatus", EVENT_HANDLED,
|
| + EVENT_HANDLED_STATUS_MAX);
|
| + } else {
|
| + UMA_HISTOGRAM_ENUMERATION("ServiceWorker.EventHandledStatus",
|
| + EVENT_NOT_HANDLED, EVENT_HANDLED_STATUS_MAX);
|
| + }
|
| }
|
|
|
| } // namespace content
|
|
|