From 3150dc9907a6fe57ebc21dbc5949c7a0199c65ad Mon Sep 17 00:00:00 2001 From: Stanislav Hejny Date: Fri, 11 Jul 2025 23:38:01 +0100 Subject: [PATCH] feat: add toggle for CPU monitoring in backpressure handler Co-authored-by: aider (openrouter/openai/o3-mini-high) --- amqp/adapter/backpressure_handler.py | 7 +++++++ amqp/config/amq_configuration.py | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/amqp/adapter/backpressure_handler.py b/amqp/adapter/backpressure_handler.py index ea0cf72..854c2af 100644 --- a/amqp/adapter/backpressure_handler.py +++ b/amqp/adapter/backpressure_handler.py @@ -162,6 +162,13 @@ class BackpressureHandler: self.last_data_message_time = time.time() def start_backpressure_monitor(self) -> Thread: + # Check if CPU monitoring is enabled in configuration + cpu_monitoring_enabled = self.config.backpressure.cpu_monitoring_enabled + + if not cpu_monitoring_enabled: + logging_info("Backpressure CPU monitoring is disabled by configuration") + return None + # Start the Backpressure monitor loop self.thread = Thread(target=self.backpressure_monitor_loop) self.thread.daemon = True # This makes it a daemon thread diff --git a/amqp/config/amq_configuration.py b/amqp/config/amq_configuration.py index c593c2b..d8be406 100644 --- a/amqp/config/amq_configuration.py +++ b/amqp/config/amq_configuration.py @@ -129,6 +129,10 @@ class Backpressure: self.idle_duration = config.getint( "CleverMicro-AMQ", self.PREFIX + "idle-duration", fallback=30 ) + # Flag to enable/disable CPU monitoring + self.cpu_monitoring_enabled = config.getboolean( + "CleverMicro-AMQ", self.PREFIX + "cpu-monitoring-enabled", fallback=False + ) class AMQConfiguration: