From 8b020f49d46caa8c228a006362c967d654df8fdf Mon Sep 17 00:00:00 2001 From: Abhishek Dosi Date: Thu, 9 Jan 2025 06:06:07 +0000 Subject: [PATCH] Changes to increase poll interval 10sec for port counter on supervisor. Reducing poll interval decreases cpu load as on packet chassis we can have 600+ ethernet backplane ports. For voq chaassis it is no-op as their is no ethernet port Signed-off-by: Abhishek Dosi --- dockers/docker-orchagent/enable_counters.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/dockers/docker-orchagent/enable_counters.py b/dockers/docker-orchagent/enable_counters.py index 6054503892..4889c34c32 100755 --- a/dockers/docker-orchagent/enable_counters.py +++ b/dockers/docker-orchagent/enable_counters.py @@ -10,12 +10,14 @@ DEFAULT_ALPHA = '0.18' -def enable_counter_group(db, name): +def enable_counter_group(db, name, poll_interval=None): entry_info = db.get_entry("FLEX_COUNTER_TABLE", name) if not entry_info: info = {} info['FLEX_COUNTER_STATUS'] = 'enable' + if poll_interval: + info['POLL_INTERVAL'] = poll_interval db.mod_entry("FLEX_COUNTER_TABLE", name, info) else: entry_info.update({"FLEX_COUNTER_DELAY_STATUS":"false"}) @@ -38,12 +40,15 @@ def enable_rates(): def enable_counters(): db = swsscommon.ConfigDBConnector() db.connect() + device_metadata_info = db.get_entry("DEVICE_METADATA", "localhost") + default_enabled_counters = ['PORT', 'RIF', 'QUEUE', 'PFCWD', 'PG_WATERMARK', 'PG_DROP', 'QUEUE_WATERMARK', 'BUFFER_POOL_WATERMARK', 'PORT_BUFFER_DROP', 'ACL'] # Enable those default counters for key in default_enabled_counters: - enable_counter_group(db, key) + enable_counter_group(db, key, + "10000" if key == 'PORT' and 'subtype' in device_metadata_info and device_metadata_info['subtype'] == "Supervisor" else None) # Set FLEX_COUNTER_DELAY_STATUS to false for those non-default counters keys = db.get_keys('FLEX_COUNTER_TABLE')