AWS WebRTC:通过shell分析并发启动master后产生的日志文件
并发启动多个master后,并不知道是否启动成功,需要从日志文件中获取相应的信息,才能知道启动成功还是失败。于是在大量的 master_*.log 文件中,统计每个信令通道的几个关键状态:
- 信令通道初始化完成;
- Master 成功推流;
- master 完成信令通道初始化的耗时;
- setup成功的,记录成功,失败的,记录失败;
- 推流成功的,记录成功,失败的,记录失败:
- 将结果写入csv文件。
日志文件名格式如下:
master_channel_20250626_030230_235.log
文件名中的第二段是channel,需要提取channel作为统计的对象,这样的日志文件有100个左右。
日志内容中的节点信息
- 当日志中出现:
2025-06-12 06:55:42.383 INFO initKvsWebRtc(): Initializing WebRTC library...
说明master开始启动
- 当日志中出现:
2025-06-12 06:55:43.391 INFO main(): [KVS Master] Channel 1234567890 set up done
说明master成功完成了对 1234567890 信令通道的初始化并准备就绪,可以等待 Viewer 端连接。
- 当日志中出现:
2025-06-12 06:56:01.803 VERBOSE rtcpReportsCallback(): sender report 1567004045 17002487729616414183 247059 : 373 packets 85228 bytes
并且packets和bytes不为空,就是说不能是 0 packets 0 bytes,说明master推流成功。
代码实现:
#!/bin/bashlog_dir="./log/master"
output_csv="master_log_analysis.csv"# 输出 CSV 表头
echo "channel,start_time,ready_time,streaming_time,setup_duration(s),setup_status,stream_status" >