ABlockMonitor parametres
This commit is contained in:
parent
782a934af9
commit
1422f0a762
@ -55,19 +55,24 @@ class ABlockMonitor:
|
||||
__task: asyncio.Future
|
||||
__max: float
|
||||
|
||||
def __init__(self, threshold=0.0) -> None:
|
||||
def __init__(self, *, threshold=0.0, delta=10.0, interval=0.0) -> None:
|
||||
self.__max = threshold
|
||||
self.delta = delta
|
||||
self.interval = interval
|
||||
|
||||
async def _monitor(self):
|
||||
while True:
|
||||
delta = 10
|
||||
delta = self.delta
|
||||
t = time.time()
|
||||
await asyncio.sleep(delta)
|
||||
spent = time.time() - t
|
||||
delay = spent - delta
|
||||
if delay > self.__max:
|
||||
self.__max = delay
|
||||
print(f'block monitor reached new peak delay {delay:.3f}')
|
||||
print(f'block monitor reached new peak delay {delay:.4f}')
|
||||
interval = self.interval
|
||||
if interval > 0:
|
||||
await asyncio.sleep(interval)
|
||||
|
||||
async def __aenter__(self):
|
||||
self.__task = asyncio.get_running_loop().create_task(self._monitor())
|
||||
|
Loading…
Reference in New Issue
Block a user