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_