[VOL-5527] Enhance the performance metrics by adding the additional needed attributes
Change-Id: I78e3a674b8527bb329617b110e84efc2c12d1f14
Signed-off-by: pnalmas <praneeth.nalmas@radisys.com>
diff --git a/protos/voltha_protos/events.proto b/protos/voltha_protos/events.proto
index 9376805..6f180c5 100755
--- a/protos/voltha_protos/events.proto
+++ b/protos/voltha_protos/events.proto
@@ -107,6 +107,16 @@
}
/*
+ * Struct to group metadata for a metric (or group of metrics) with the key-value
+ * pairs of collected metrics using 64-bit unsigned integers.
+ * This is used for counters that can exceed the precision of float (e.g., FEC, GEM counters).
+ */
+message MetricInformation64 {
+ MetricMetaData metadata = 1;
+ map<string, uint64> metrics = 2;
+}
+
+/*
* Legacy KPI Event structured. In mid-August, the KPI event format was updated
* to a more easily parsable format. See VOL-1140
* for more information.
@@ -135,6 +145,21 @@
}
/*
+ * KpiEvent3 with support for 64-bit unsigned integer counters.
+ * Use this for metrics that require full 64-bit precision (e.g., FEC counters, GEM counters).
+ */
+message KpiEvent3 {
+ // Type of KPI Event
+ KpiEventType.Types type = 1;
+
+ // Fields used when for slice:
+ double ts = 2; // UTC time-stamp of data in slice mode (seconds since epoch)
+ // of the time this entire KpiEvent was published to the kafka bus
+
+ repeated MetricInformation64 slice_data = 3;
+}
+
+/*
* Describes the events specific to device
*/
message DeviceEvent {
@@ -220,6 +245,7 @@
KPI_EVENT2 = 2;
DEVICE_EVENT = 3;
RPC_EVENT = 4;
+ KPI_EVENT3 = 5;
}
}
@@ -284,7 +310,8 @@
// Refers to an RPC Event
RPCEvent rpc_event = 6;
- // Add other event types here.
+ // Refers to KpiEvent3 (64-bit counter support)
+ KpiEvent3 kpi_event3 = 7;
}
}