Skip to content

Commit a52ecd0

Browse files
authored
[counterpoll]: add support to enable/disable counter query (sonic-net#258)
Signed-off-by: Sihui Han <[email protected]>
1 parent ba8df2a commit a52ecd0

File tree

1 file changed

+40
-4
lines changed

1 file changed

+40
-4
lines changed

counterpoll/main.py

+40-4
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,24 @@ def interval(poll_interval):
2424
queue_info['POLL_INTERVAL'] = poll_interval
2525
configdb.mod_entry("FLEX_COUNTER_TABLE", "QUEUE", queue_info)
2626

27+
@queue.command()
28+
def enable():
29+
""" Enable queue counter query """
30+
configdb = swsssdk.ConfigDBConnector()
31+
configdb.connect()
32+
queue_info = {}
33+
queue_info['FLEX_COUNTER_STATUS'] = 'enable'
34+
configdb.mod_entry("FLEX_COUNTER_TABLE", "QUEUE", queue_info)
35+
36+
@queue.command()
37+
def disable():
38+
""" Disable queue counter query """
39+
configdb = swsssdk.ConfigDBConnector()
40+
configdb.connect()
41+
queue_info = {}
42+
queue_info['FLEX_COUNTER_STATUS'] = 'disable'
43+
configdb.mod_entry("FLEX_COUNTER_TABLE", "QUEUE", queue_info)
44+
2745
# Port counter commands
2846
@cli.group()
2947
def port():
@@ -38,7 +56,25 @@ def interval(poll_interval):
3856
port_info = {}
3957
if poll_interval is not None:
4058
port_info['POLL_INTERVAL'] = poll_interval
41-
configdb.mod_entry("FLEX_COUNTER_TABLE", "test", port_info)
59+
configdb.mod_entry("FLEX_COUNTER_TABLE", "PORT", port_info)
60+
61+
@port.command()
62+
def enable():
63+
""" Enable port counter query """
64+
configdb = swsssdk.ConfigDBConnector()
65+
configdb.connect()
66+
port_info = {}
67+
port_info['FLEX_COUNTER_STATUS'] = 'enable'
68+
configdb.mod_entry("FLEX_COUNTER_TABLE", "PORT", port_info)
69+
70+
@port.command()
71+
def disable():
72+
""" Disable port counter query """
73+
configdb = swsssdk.ConfigDBConnector()
74+
configdb.connect()
75+
port_info = {}
76+
port_info['FLEX_COUNTER_STATUS'] = 'disable'
77+
configdb.mod_entry("FLEX_COUNTER_TABLE", "PORT", port_info)
4278

4379
@cli.command()
4480
def show():
@@ -48,12 +84,12 @@ def show():
4884
queue_info = configdb.get_entry('FLEX_COUNTER_TABLE', 'QUEUE')
4985
port_info = configdb.get_entry('FLEX_COUNTER_TABLE', 'PORT')
5086

51-
header = ("Type", "Interval")
87+
header = ("Type", "Interval", "Status")
5288
data = []
5389
if queue_info:
54-
data.append(["QUEUE_STAT", queue_info["POLL_INTERVAL"]])
90+
data.append(["QUEUE_STAT", queue_info["POLL_INTERVAL"], queue_info["FLEX_COUNTER_STATUS"]])
5591
if port_info:
56-
data.append(["PORT_STAT", port_info["POLL_INTERVAL"]])
92+
data.append(["PORT_STAT", port_info["POLL_INTERVAL"], port_info["FLEX_COUNTER_STATUS"]])
5793

5894
print tabulate(data, headers=header, tablefmt="simple", missingval="")
5995

0 commit comments

Comments
 (0)