summaryrefslogtreecommitdiffstats
path: root/scripts/automation/trex_control_plane/common
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/automation/trex_control_plane/common')
-rwxr-xr-xscripts/automation/trex_control_plane/common/trex_stats.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/scripts/automation/trex_control_plane/common/trex_stats.py b/scripts/automation/trex_control_plane/common/trex_stats.py
new file mode 100755
index 00000000..62c3a890
--- /dev/null
+++ b/scripts/automation/trex_control_plane/common/trex_stats.py
@@ -0,0 +1,45 @@
+#!/router/bin/python
+import copy
+
+class CTRexStatsManager(object):
+
+ def __init__(self):
+ self._stats = {}
+ pass
+
+ def update(self, obj_id, stats_obj):
+ assert isinstance(stats_obj, CTRexStats)
+ self._stats[obj_id] = stats_obj
+
+ def get_stats(self, obj_id):
+ return copy.copy(self._stats.pop(obj_id))
+
+
+
+
+class CTRexStats(object):
+ def __init__(self, **kwargs):
+ for k, v in kwargs.items():
+ setattr(self, k, v)
+
+
+class CGlobalStats(CTRexStats):
+ def __init__(self, **kwargs):
+ super(CGlobalStats, self).__init__(kwargs)
+ pass
+
+
+class CPortStats(CTRexStats):
+ def __init__(self, **kwargs):
+ super(CPortStats, self).__init__(kwargs)
+ pass
+
+
+class CStreamStats(CTRexStats):
+ def __init__(self, **kwargs):
+ super(CStreamStats, self).__init__(kwargs)
+ pass
+
+
+if __name__ == "__main__":
+ pass