diff --git a/counterpoll/main.py b/counterpoll/main.py index 95282a3ed6..dc48c83daa 100755 --- a/counterpoll/main.py +++ b/counterpoll/main.py @@ -105,6 +105,16 @@ def port_interval(ctx, poll_interval): port_info['POLL_INTERVAL'] = poll_interval ctx.obj.mod_entry("FLEX_COUNTER_TABLE", "PORT", port_info) +@port.command('flr-interval-factor') +@click.argument('factor', type=click.IntRange(min=1)) +def flr_interval_factor(factor): + """ Set port counter FLR interval factor """ + configdb = ConfigDBConnector() + configdb.connect() + port_info = {} + if factor is not None: + port_info['SECONDARY_POLL_FACTOR'] = factor + configdb.mod_entry("FLEX_COUNTER_TABLE", "PORT", port_info) @port.command(name='enable') @click.pass_context @@ -700,7 +710,11 @@ def show(namespace): if queue_info: data.append(["QUEUE_STAT", queue_info.get("POLL_INTERVAL", DEFLT_10_SEC), queue_info.get("FLEX_COUNTER_STATUS", DISABLE)]) if port_info: - data.append(["PORT_STAT", port_info.get("POLL_INTERVAL", DEFLT_1_SEC), port_info.get("FLEX_COUNTER_STATUS", DISABLE)]) + interval_display = port_info.get("POLL_INTERVAL", DEFLT_1_SEC) + flr_factor = port_info.get("SECONDARY_POLL_FACTOR", "") + if flr_factor: + interval_display = f"{interval_display} (FLR: {flr_factor})" + data.append(["PORT_STAT", interval_display, port_info.get("FLEX_COUNTER_STATUS", DISABLE)]) if port_drop_info: data.append([PORT_BUFFER_DROP, port_drop_info.get("POLL_INTERVAL", DEFLT_60_SEC), port_drop_info.get("FLEX_COUNTER_STATUS", DISABLE)]) if rif_info: