| | |
| | | |
| | | # 分析L2数据传输时间 |
| | | def analyze_l2_data_transformation(path_): |
| | | with open(path_, 'r') as f: |
| | | while True: |
| | | line = f.readline() |
| | | with open(path_, 'r', encoding="utf-8") as f: |
| | | lines = f.readlines() |
| | | for line in lines: |
| | | if not line: |
| | | break |
| | | datas = line.split("|") |
| | | create_time = datas[0].strip() |
| | | data = datas[2].split("-")[1].strip() |
| | | code = data.split("#")[0] |
| | | l2_data = data.split("#")[1] |
| | | l2_data = eval(l2_data) |
| | | max_time_data = None |
| | | min_time_data = None |
| | | for d in l2_data: |
| | | if len(d) > 10: |
| | | if max_time_data is None: |
| | | max_time_data = d |
| | | if min_time_data is None: |
| | | min_time_data = d |
| | | if d[10] > max_time_data[10]: |
| | | max_time_data = d |
| | | if d[10] < min_time_data[10]: |
| | | min_time_data = d |
| | | if max_time_data and min_time_data: |
| | | dt = datetime.datetime.strptime(create_time.split(".")[0], "%Y-%m-%d %H:%M:%S") |
| | | create_timestamp = int(dt.timestamp() * 1000) + int(create_time.split(".")[1]) |
| | | if create_timestamp - min_time_data[10] > 20: |
| | | print(create_time, f"数量:{len(l2_data)}", code, create_timestamp - min_time_data[10], |
| | | create_timestamp - max_time_data[10]) |
| | | try: |
| | | datas = line.split("|") |
| | | create_time = datas[0].strip() |
| | | data = datas[2].split(" - ")[1].strip() |
| | | contents = data.split("#") |
| | | code = contents[0] |
| | | use_time = int(contents[1].strip().split(":")[1].split("-")[-2]) |
| | | l2_data = contents[2] |
| | | l2_data = eval(l2_data) |
| | | max_time_data = None |
| | | min_time_data = None |
| | | for d in l2_data: |
| | | if len(d) > 10: |
| | | if max_time_data is None: |
| | | max_time_data = d |
| | | if min_time_data is None: |
| | | min_time_data = d |
| | | if d[10] > max_time_data[10]: |
| | | max_time_data = d |
| | | if d[10] < min_time_data[10]: |
| | | min_time_data = d |
| | | if max_time_data and min_time_data: |
| | | dt = datetime.datetime.strptime(create_time.split(".")[0], "%Y-%m-%d %H:%M:%S") |
| | | create_timestamp = int(dt.timestamp() * 1000) + int(create_time.split(".")[1]) |
| | | if use_time > 100: |
| | | print(create_time, f"数量:{len(l2_data)}", f"耗时:{use_time}", code, |
| | | create_timestamp - min_time_data[10], |
| | | create_timestamp - max_time_data[10]) |
| | | except: |
| | | print(line) |
| | | pass |
| | | |
| | | pass |
| | | |
| | | |
| | | if __name__ == "__main__": |
| | | analyze_l2_data_transformation("D:\\logs\\huaxin_l2\\orderdetail.2023-08-23.log") |
| | | analyze_l2_data_transformation("D:\\logs\\huaxin_l2\\orderdetail.2023-08-29.log") |