| | |
| | | 日志分析 |
| | | """ |
| | | # 获取不可以下单的原因 |
| | | import datetime |
| | | import os |
| | | |
| | | import constant |
| | |
| | | line = f.readline() |
| | | |
| | | |
| | | # 分析L2数据传输时间 |
| | | def analyze_l2_data_transformation(path_): |
| | | with open(path_, 'r') as f: |
| | | while True: |
| | | line = f.readline() |
| | | 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]) |
| | | |
| | | pass |
| | | |
| | | |
| | | if __name__ == "__main__": |
| | | print(get_kpl_can_buy_reasons_dict()) |
| | | analyze_l2_data_transformation("D:\\logs\\huaxin_l2\\orderdetail.2023-08-23.log") |