patchpanel: add UMA metrics for Patchpanel Dbus service

BUG=b:204752444
TEST=Flashed trogdor, started user session, visited
chrome://histograms#Network.Patchpanel.Dbus and observed events being
recorded.

Cq-Depend: chromium:3255193
Change-Id: Ia61c7434fdd871c23ca4b1d932230a44862ef27c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/3255471
Tested-by: Hugo Benichi <hugobenichi@google.com>
Commit-Queue: Hugo Benichi <hugobenichi@google.com>
Reviewed-by: Jason Jeremy Iman <jasongustaman@chromium.org>
Reviewed-by: Garrick Evans <garrick@chromium.org>
diff --git a/patchpanel/metrics.h b/patchpanel/metrics.h
new file mode 100644
index 0000000..3cf6e64
--- /dev/null
+++ b/patchpanel/metrics.h
@@ -0,0 +1,52 @@
+// Copyright 2021 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef PATCHPANEL_METRICS_H_
+#define PATCHPANEL_METRICS_H_
+
+namespace patchpanel {
+
+// UMA metrics name for patchpanel Manager Dbus API calls.
+constexpr char kDbusUmaEventMetrics[] = "Network.Patchpanel.Dbus";
+
+// UMA metrics events for |kDbusUmaEventMetrics|;
+enum class DbusUmaEvent {
+  kUnknown = 0,
+  kArcStartup = 1,
+  kArcStartupSuccess = 2,
+  kArcShutdown = 3,
+  kArcShutdownSuccess = 4,
+  kArcVmStartup = 5,
+  kArcVmStartupSuccess = 6,
+  kArcVmShutdown = 7,
+  kArcVmShutdownSuccess = 8,
+  kTerminaVmStartup = 9,
+  kTerminaVmStartupSuccess = 10,
+  kTerminaVmShutdown = 11,
+  kTerminaVmShutdownSuccess = 12,
+  kPluginVmStartup = 13,
+  kPluginVmStartupSuccess = 14,
+  kPluginVmShutdown = 15,
+  kPluginVmShutdownSuccess = 16,
+  kSetVpnIntent = 17,
+  kSetVpnIntentSuccess = 18,
+  kConnectNamespace = 19,
+  kConnectNamespaceSuccess = 20,
+  kGetTrafficCounters = 21,
+  kGetTrafficCountersSuccess = 22,
+  kModifyPortRule = 23,
+  kModifyPortRuleSuccess = 24,
+  kGetDevices = 25,
+  kGetDevicesSuccess = 26,
+  kSetVpnLockdown = 27,
+  kSetVpnLockdownSuccess = 28,
+  kSetDnsRedirectionRule = 29,
+  kSetDnsRedirectionRuleSuccess = 30,
+
+  kMaxValue,
+};
+
+}  // namespace patchpanel
+
+#endif  // PATCHPANEL_METRICS_H_