mirror of
https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
synced 2025-11-03 12:18:00 +00:00
GUI: event_breaker.py - improves profiling logic
Signed-off-by: Jed Reynolds <jed@candelatech.com>
This commit is contained in:
@@ -18,6 +18,7 @@ from realm import Realm
|
|||||||
import datetime
|
import datetime
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import time
|
import time
|
||||||
|
from time import sleep
|
||||||
import pprint
|
import pprint
|
||||||
|
|
||||||
class EventBreaker(Realm):
|
class EventBreaker(Realm):
|
||||||
@@ -38,35 +39,65 @@ class EventBreaker(Realm):
|
|||||||
def run(self):
|
def run(self):
|
||||||
|
|
||||||
now = datetime.now()
|
now = datetime.now()
|
||||||
|
now_ms = 0
|
||||||
end_time = self.parse_time(self.test_duration) + now
|
end_time = self.parse_time(self.test_duration) + now
|
||||||
|
client_time_ms = 0
|
||||||
|
prev_client_time_ms = 0
|
||||||
|
start_loop_time_ms = 0
|
||||||
|
loop_time_ms = 0
|
||||||
|
prev_loop_time_ms = 0
|
||||||
|
num_events = 0
|
||||||
|
prev_num_events = 0
|
||||||
while datetime.now() < end_time:
|
while datetime.now() < end_time:
|
||||||
print ('.', end='')
|
start_loop_time_ms = int(self.get_milliseconds(datetime.now()))
|
||||||
|
print ('\r♦ ', end='')
|
||||||
|
#prev_loop_time_ms = loop_time_ms
|
||||||
|
# loop_time_ms = self.get_milliseconds(datetime.now())
|
||||||
|
prev_client_time_ms = client_time_ms
|
||||||
response = self.json_get("/events/all")
|
response = self.json_get("/events/all")
|
||||||
|
#pprint.pprint(response)
|
||||||
|
|
||||||
if "events" not in response:
|
if "events" not in response:
|
||||||
# pprint.pprint(response)
|
pprint.pprint(response)
|
||||||
raise AssertionError("no events in response")
|
raise AssertionError("no events in response")
|
||||||
events = response["events"]
|
events = response["events"]
|
||||||
self.counter += 1
|
prev_num_events = num_events
|
||||||
for record in events:
|
num_events = len(events)
|
||||||
# pprint.pprint(record)
|
if num_events != prev_num_events:
|
||||||
|
print("%s events Δ%s"%(num_events, (num_events - prev_num_events)))
|
||||||
|
if "candela.lanforge.HttpEvents" in response:
|
||||||
|
client_time_ms = float(response["candela.lanforge.HttpEvents"]["duration"])
|
||||||
|
# print(" client_time %d"%client_time_ms)
|
||||||
|
|
||||||
|
if abs(prev_client_time_ms - client_time_ms) > 30:
|
||||||
|
print(" client time %d ms Δ%d"%(client_time_ms, (prev_client_time_ms - client_time_ms)),
|
||||||
|
end='')
|
||||||
|
#self.counter += 1
|
||||||
|
for record in events:
|
||||||
|
#pprint.pprint(record)
|
||||||
for k in record.keys():
|
for k in record.keys():
|
||||||
if record[k] is None:
|
if record[k] is None:
|
||||||
print ('.', end='')
|
print (' ☠no %s☠'%k, end='')
|
||||||
continue
|
continue
|
||||||
# pprint.pprint( record[k])
|
# pprint.pprint( record[k])
|
||||||
if "NA" == record[k]["event"] \
|
if "NA" == record[k]["event"] \
|
||||||
or "NA" == record[k]["name"] \
|
or "NA" == record[k]["name"] \
|
||||||
or "NA" == record[k]["type"] \
|
or "NA" == record[k]["type"] \
|
||||||
or "NA" == record[k]["priority"]:
|
or "NA" == record[k]["priority"]:
|
||||||
print( "id[%s]"%k, end='')
|
print( " ☠id[%s]☠"%k, end='')
|
||||||
print("counter %s"%self.counter)
|
prev_loop_time_ms = loop_time_ms
|
||||||
|
now_ms = int(self.get_milliseconds(datetime.now()))
|
||||||
|
loop_time_ms = now_ms - start_loop_time_ms
|
||||||
|
if (prev_loop_time_ms - loop_time_ms) > 15:
|
||||||
|
print(" loop time %d ms Δ%d "
|
||||||
|
%(loop_time_ms, (prev_loop_time_ms - loop_time_ms)),
|
||||||
|
end='')
|
||||||
|
if (prev_loop_time_ms - loop_time_ms) > 30:
|
||||||
|
print("")
|
||||||
|
|
||||||
def cleanup(self):
|
def cleanup(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
parser = LFCliBase.create_bare_argparse(
|
parser = LFCliBase.create_bare_argparse(
|
||||||
prog='event_breaker.py',
|
prog='event_breaker.py',
|
||||||
|
|||||||
Reference in New Issue
Block a user