[UMA] Metrics for enabling/disabling the local overrides setting

Bug: 1383097
Change-Id: Ib6adc43c598a866f103a221a5a88aa71fbd17f21
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/4355379
Reviewed-by: Danil Somsikov <dsv@chromium.org>
Commit-Queue: Wolfgang Beyer <wolfi@chromium.org>
diff --git a/front_end/core/host/UserMetrics.ts b/front_end/core/host/UserMetrics.ts
index e8c4e34..b55cbbe 100644
--- a/front_end/core/host/UserMetrics.ts
+++ b/front_end/core/host/UserMetrics.ts
@@ -425,7 +425,9 @@
   HeaderOverrideHeaderEdited = 63,
   HeaderOverrideHeaderRemoved = 64,
   HeaderOverrideHeadersFileEdited = 65,
-  MaxValue = 66,
+  PersistenceNetworkOverridesEnabled = 66,
+  PersistenceNetworkOverridesDisabled = 67,
+  MaxValue = 68,
 }
 
 /* eslint-disable @typescript-eslint/naming-convention */
diff --git a/front_end/models/persistence/NetworkPersistenceManager.ts b/front_end/models/persistence/NetworkPersistenceManager.ts
index e6f9403..afe4912 100644
--- a/front_end/models/persistence/NetworkPersistenceManager.ts
+++ b/front_end/models/persistence/NetworkPersistenceManager.ts
@@ -125,6 +125,7 @@
     }
     this.enabled = this.enabledSetting.get();
     if (this.enabled) {
+      Host.userMetrics.actionTaken(Host.UserMetrics.Action.PersistenceNetworkOverridesEnabled);
       this.eventDescriptors = [
         Workspace.Workspace.WorkspaceImpl.instance().addEventListener(
             Workspace.Workspace.Events.UISourceCodeRenamed,
@@ -147,6 +148,7 @@
       ];
       await this.updateActiveProject();
     } else {
+      Host.userMetrics.actionTaken(Host.UserMetrics.Action.PersistenceNetworkOverridesDisabled);
       Common.EventTarget.removeEventListeners(this.eventDescriptors);
       await this.updateActiveProject();
     }
diff --git a/test/unittests/front_end/panels/network/components/RequestHeadersView_test.ts b/test/unittests/front_end/panels/network/components/RequestHeadersView_test.ts
index f0bcc49..2ff7712 100644
--- a/test/unittests/front_end/panels/network/components/RequestHeadersView_test.ts
+++ b/test/unittests/front_end/panels/network/components/RequestHeadersView_test.ts
@@ -437,6 +437,9 @@
     assert.isTrue(recordedMetricsContain(
         Host.InspectorFrontendHostAPI.EnumeratedHistogram.ActionTaken,
         Host.UserMetrics.Action.HeaderOverrideEnableEditingClicked));
+    assert.isTrue(recordedMetricsContain(
+        Host.InspectorFrontendHostAPI.EnumeratedHistogram.ActionTaken,
+        Host.UserMetrics.Action.PersistenceNetworkOverridesEnabled));
   });
 
   it('records metrics when a new \'.headers\' file is created', async () => {