| Server IP : 68.178.202.69 / Your IP : 216.73.216.174 Web Server : Apache System : Linux 69.202.178.68.host.secureserver.net 3.10.0-1160.139.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Nov 3 13:30:41 UTC 2025 x86_64 User : ikioworld ( 1005) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/lib/fm-agent/library/ |
Upload File : |
import logging
import operator
import sys
import time
class Threshold(object):
def __init__(self, **kwargs):
self.log = logging.getLogger(self.__class__.__name__)
self.id = kwargs.get("id")
# I renamed 'delay' to 'duration' to indicate that we're not delaying
# reporting an exceeded threshold, but instead we're checking if it is
# being exceded for a duration of time.
self.duration = kwargs.get("delay", 0)
# I renamed 'value' to 'limit' to distinguish it from the check value.
self.limit = kwargs.get("value", 0)
self.operator = kwargs.get("operator", None)
self.reported = False
# The logging library interferes with cPickle, so we must remove the logger
# instance then reset it when we serialize/unserialize.
def __getstate__(self):
state = dict(self.__dict__)
del state["log"]
return state
def __setstate__(self, state):
self.__dict__.update(state)
self.log = logging.getLogger(self.__class__.__name__)
def limit_exceeded(self, value):
if self.operator is None:
self.log.debug("Threshold %s is a null threshold", self.id)
return None
operation = getattr(operator, self.operator)
self.log.debug(
"Testing if value (%.2f) is %s threshold %s's limit (%.2f)",
value,
self.operator,
self.id,
self.limit,
)
return operation(value, self.limit)