Skip to content

Commit

Permalink
[counterpoll]: add support to enable/disable counter query (sonic-net…
Browse files Browse the repository at this point in the history
…#258)

Signed-off-by: Sihui Han <sihan@microsoft.com>
  • Loading branch information
sihuihan88 authored Jun 19, 2018
1 parent ba8df2a commit a52ecd0
Showing 1 changed file with 40 additions and 4 deletions.
44 changes: 40 additions & 4 deletions counterpoll/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,24 @@ def interval(poll_interval):
queue_info['POLL_INTERVAL'] = poll_interval
configdb.mod_entry("FLEX_COUNTER_TABLE", "QUEUE", queue_info)

@queue.command()
def enable():
""" Enable queue counter query """
configdb = swsssdk.ConfigDBConnector()
configdb.connect()
queue_info = {}
queue_info['FLEX_COUNTER_STATUS'] = 'enable'
configdb.mod_entry("FLEX_COUNTER_TABLE", "QUEUE", queue_info)

@queue.command()
def disable():
""" Disable queue counter query """
configdb = swsssdk.ConfigDBConnector()
configdb.connect()
queue_info = {}
queue_info['FLEX_COUNTER_STATUS'] = 'disable'
configdb.mod_entry("FLEX_COUNTER_TABLE", "QUEUE", queue_info)

# Port counter commands
@cli.group()
def port():
Expand All @@ -38,7 +56,25 @@ def interval(poll_interval):
port_info = {}
if poll_interval is not None:
port_info['POLL_INTERVAL'] = poll_interval
configdb.mod_entry("FLEX_COUNTER_TABLE", "test", port_info)
configdb.mod_entry("FLEX_COUNTER_TABLE", "PORT", port_info)

@port.command()
def enable():
""" Enable port counter query """
configdb = swsssdk.ConfigDBConnector()
configdb.connect()
port_info = {}
port_info['FLEX_COUNTER_STATUS'] = 'enable'
configdb.mod_entry("FLEX_COUNTER_TABLE", "PORT", port_info)

@port.command()
def disable():
""" Disable port counter query """
configdb = swsssdk.ConfigDBConnector()
configdb.connect()
port_info = {}
port_info['FLEX_COUNTER_STATUS'] = 'disable'
configdb.mod_entry("FLEX_COUNTER_TABLE", "PORT", port_info)

@cli.command()
def show():
Expand All @@ -48,12 +84,12 @@ def show():
queue_info = configdb.get_entry('FLEX_COUNTER_TABLE', 'QUEUE')
port_info = configdb.get_entry('FLEX_COUNTER_TABLE', 'PORT')

header = ("Type", "Interval")
header = ("Type", "Interval", "Status")
data = []
if queue_info:
data.append(["QUEUE_STAT", queue_info["POLL_INTERVAL"]])
data.append(["QUEUE_STAT", queue_info["POLL_INTERVAL"], queue_info["FLEX_COUNTER_STATUS"]])
if port_info:
data.append(["PORT_STAT", port_info["POLL_INTERVAL"]])
data.append(["PORT_STAT", port_info["POLL_INTERVAL"], port_info["FLEX_COUNTER_STATUS"]])

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

0 comments on commit a52ecd0

Please sign in to comment.