start of monitor additions & urls_per_ten remodeling

This commit is contained in:
Dipti
2021-01-21 20:23:17 -08:00
committed by Jed Reynolds
parent 0c002a4310
commit 5df2dfb35d
2 changed files with 34 additions and 17 deletions

View File

@@ -1603,6 +1603,23 @@ class L4CXProfile(LFCliBase):
print(".", end='') print(".", end='')
print("") print("")
def check_request_rate(self):
endp_list = self.json_get("layer4/list?fields=urls/s")
expected_passes = 0
passes = 0
if endp_list is not None and endp_list['endpoint'] is not None:
endp_list = endp_list['endpoint']
for item in endp_list:
for name, info in item.items():
if name in self.cx_profile.created_cx.keys():
expected_passes += 1
if info['urls/s'] * self.requests_per_ten >= self.target_requests_per_ten * .9:
print(name, info['urls/s'], info['urls/s'] * self.requests_per_ten, self.target_requests_per_ten * .9)
passes += 1
return passes == expected_passes
def cleanup(self): def cleanup(self):
print("Cleaning up cxs and endpoints") print("Cleaning up cxs and endpoints")
if len(self.created_cx) != 0: if len(self.created_cx) != 0:

View File

@@ -24,6 +24,7 @@ from LANforge import LFUtils
import realm import realm
import time import time
import datetime import datetime
from realm import TestGroupProfile
class IPV4L4(LFCliBase): class IPV4L4(LFCliBase):
@@ -66,21 +67,20 @@ class IPV4L4(LFCliBase):
self.cx_profile.url = self.url self.cx_profile.url = self.url
self.cx_profile.requests_per_ten = self.requests_per_ten self.cx_profile.requests_per_ten = self.requests_per_ten
def __check_request_rate(self): # def __check_request_rate(self):
endp_list = self.json_get("layer4/list?fields=urls/s") # endp_list = self.json_get("layer4/list?fields=urls/s")
expected_passes = 0 # expected_passes = 0
passes = 0 # passes = 0
if endp_list is not None and endp_list['endpoint'] is not None: # if endp_list is not None and endp_list['endpoint'] is not None:
endp_list = endp_list['endpoint'] # endp_list = endp_list['endpoint']
for item in endp_list: # for item in endp_list:
for name, info in item.items(): # for name, info in item.items():
if name in self.cx_profile.created_cx.keys(): # if name in self.cx_profile.created_cx.keys():
expected_passes += 1 # expected_passes += 1
if info['urls/s'] * self.requests_per_ten >= self.target_requests_per_ten * .9: # if info['urls/s'] * self.requests_per_ten >= self.target_requests_per_ten * .9:
print(name, info['urls/s'], info['urls/s'] * self.requests_per_ten, self.target_requests_per_ten * .9) # print(name, info['urls/s'], info['urls/s'] * self.requests_per_ten, self.target_requests_per_ten * .9)
passes += 1 # passes += 1
# return passes == expected_passes
return passes == expected_passes
def build(self): def build(self):
# Build stations # Build stations
@@ -106,9 +106,9 @@ class IPV4L4(LFCliBase):
exit(1) exit(1)
self.cx_profile.start_cx() self.cx_profile.start_cx()
print("Starting test") print("Starting test")
curr_time = datetime.datetime.now() curr_time = datetime.datetime.now()
end_time = self.local_realm.parse_time(self.test_duration) + curr_time end_time = self.local_realm.parse_time(self.test_duration) + curr_time
sleep_interval = self.local_realm.parse_time(self.test_duration) // 5 sleep_interval = self.local_realm.parse_time(self.test_duration) // 5
passes = 0 passes = 0
expected_passes = 0 expected_passes = 0
for test in range(self.num_tests): for test in range(self.num_tests):