summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzhangchengwei <[email protected]>2024-04-11 19:56:37 +0800
committerzhangchengwei <[email protected]>2024-04-11 19:56:37 +0800
commitc1bf11fb48f38bba3567d1ff1208813a74cbb9e4 (patch)
treea2d3dc69c3b6ca57f4e49a434d26d5f20c29191b
parent97cba73980177259f39c8d2812c41d78df5ebb69 (diff)
1.调整statistic关于active session取值优化
-rw-r--r--createProfile.py2
-rw-r--r--getLog.py40
2 files changed, 29 insertions, 13 deletions
diff --git a/createProfile.py b/createProfile.py
index a95b452..ff818e5 100644
--- a/createProfile.py
+++ b/createProfile.py
@@ -228,7 +228,7 @@ class CreateProfile():
response = requests.post(url, headers=headers, json=process_post_data, verify=False)
response_dict = response.json()
# 处理返回数据,提取id
- time.sleep(2)
+ #time.sleep(2)
#print(response_dict)
profile_id = response_dict["data"]["id"]
create_profile_id_dict["profile_type"] = profile_type
diff --git a/getLog.py b/getLog.py
index 1b946d3..18a1186 100644
--- a/getLog.py
+++ b/getLog.py
@@ -217,7 +217,7 @@ class GetLog():
#print(result_list)
statistics_value = 0
if statistics_info["chart_type"] == "line" or statistics_info["chart_type"] == "table" or statistics_info["chart_type"] == "bar":
- print(f'{statistics_info["chart_type"]}断言对比...')
+ print(f'{statistics_info["chart_type"]}>>断言对比...')
print(statistics_info)
statistics_value = copy.deepcopy(result_list[0])
# 将列表中metric值设置为0
@@ -225,17 +225,33 @@ class GetLog():
if isinstance(v, int):
statistics_value[k] = 0
# 遍历result结果,将metric值累加并存储到statistics_value;因为流量单一,只能统计第一个计算值
+ print(result_list)
+ tmp_list_1 = [] # 下面for..提取值使用
for result_index in range(len(result_list)):
- for k, v in result_list[result_index].items():
+ if "session_identifier_sketch" in result_list[0].keys(): # session_identifier_sketch 需要单独处理
+ for k, v in result_list[result_index].items():
+ if isinstance(v, int):
+ if v != 0:
+ tmp_list_1.append(v) # 将不等于0的数值添加到列表中,为了计算平均数
+ else: # 其它的取值方式
+ for k, v in result_list[result_index].items():
+ if isinstance(v, int):
+ statistics_value[k] += v
+ if "client_ip_matched_objects".lower() in result_list[0].keys() or "server_ip_matched_objects".lower() in result_list[0].keys() or "websketch_categories".lower() in result_list[0].keys():
+ break
+ if "session_identifier_sketch" in result_list[0].keys(): # session_identifier_sketch 需要单独处理
+ sum_1 = 0
+ for i in range(1, len(tmp_list_1) - 1): # 去掉首位两个数计算平均数
+ sum_1 += tmp_list_1[i]
+ avg_1 = sum_1 / (len(tmp_list_1) - 2)
+ for k, v in result_list[0].items(): # 取得session_indentifier_sketch的值
if isinstance(v, int):
- statistics_value[k] += v
- if "client_ip_matched_objects".lower() in result_list[0].keys() or "server_ip_matched_objects".lower() in result_list[0].keys() or "websketch_categories".lower() in result_list[0].keys():
- break
+ statistics_value[k] = avg_1
print("TSG实际查询到的结果数据:\n{}".format(statistics_value))
# 重组需要断言使用的key列表
assert_key_list = []
for k, v in statistics_value.items():
- if isinstance(v, int):
+ if isinstance(v, int) or isinstance(v, float):
assert_key_list.append(k)
# 开始判断key的正确性
for i in range(len(assert_key_list)):
@@ -260,15 +276,15 @@ class GetLog():
if chart_type == "line":
print(f"流量回放预期结果总数:\n{statistics_metircs_except}")
failure_info_1 = f"Total expected results for traffic playback:{statistics_metircs_except}"
- statistics_metircs_except_avg = {} # 重组预期15秒粒度结果
+ statistics_metircs_except_avg = {} # 重组预期1秒粒度结果
for k, v in statistics_metircs_except.items():
if "bytes" in k:
- statistics_metircs_except_avg[k] = int((v) / 15) # 统计平均字节数
+ statistics_metircs_except_avg[k] = int((v) / 1) # 统计平均字节数
else:
- statistics_metircs_except_avg[k] = int(v / 15)
+ statistics_metircs_except_avg[k] = int(v / 1)
if assert_key != "session_identifier_sketch" and assert_key != "client_ip_sketch" and assert_key != "server_ip_sketch": # 除了这几个gauge,需要打印下信息
- print(f"流量回放结果按15秒粒度平均数:\n{statistics_metircs_except_avg}")
- failure_info_2 = f"Average number of traffic playback results by 15-second granularity:{statistics_metircs_except_avg}"
+ print(f"流量回放结果按1秒粒度平均数:\n{statistics_metircs_except_avg}")
+ failure_info_2 = f"Average number of traffic playback results by 1-second granularity:{statistics_metircs_except_avg}"
print(assert_key)
if assert_key == "bytes":
if statistics_value[assert_key] > (statistics_metircs_except_avg["total_bytes"] - 10): # 预期值减10,因为出现多个时间周期统计的结果实际值减小
@@ -306,7 +322,7 @@ class GetLog():
unique_server_ips = sessions_count
statistics_metircs_except_gauge["client_ip_sketch"] = unique_client_ips
statistics_metircs_except_gauge["server_ip_sketch"] = unique_server_ips
- print(f"流量回放结果按15秒粒度的Gauge:\n{statistics_metircs_except_gauge}")
+ print(f"流量回放结果按1秒粒度的Gauge:\n{statistics_metircs_except_gauge}")
if -3 < statistics_value[assert_key] - statistics_metircs_except_gauge[assert_key] < 3:
print("<<<<<<<<<<statistics 结果正常>>>>>>>>>>")
metric_result = True