试用安装包下载 | SMS | 在线演示项目源码地址https://github.com/openskeye/go-vss背景GB28181 场景下SIP 报文量大全量 debug 会拖垮磁盘 I/O 与 CPU格式化、锁、刷盘。同时SSE 实时 SIP 日志、通道诊断等能力若不加节制会在排障时反而制造二次故障。本仓库通过开关、异步 channel、独立逻辑把诊断与热路径分离。项目中的做法1. Resty /打印类开关main.go中functions.RestyDebug c.UseSipPrintLog将HTTP 客户端调试输出与配置绑定。默认生产应关闭仅在排障窗口开启。2.SipLogchannel 专用SipLogLogicServiceContext中SipLog chan *SipLogItem容量 100由独立 Logic 消费gbs_proc/sip_log.go。记录路径与热路径分离SIP 收发主流程只非阻塞或轻量投递具体以实现为准避免在 gosip 回调里写大段日志。SIP HandlerSipLog chan 100SipLogLogic文件/SSE/聚合3. 诊断类 SSE按需订阅channel_diagnose、device_diagnose、sip_logs等 SSE 路由面向排障应控制并发连接数网关或应用层限制单客户端推送频率排障结束主动断开避免长期占用goroutine 通道。最小信息可选冷路径SSE 诊断按需文件日志热路径REGISTER/INVITESevState 计数要点生产默认UseSipPrintLog、详细 SIP 文本落盘保持关闭需要时短时间打开并轮转日志。队列满SipLog满时可能丢日志或阻塞生产者——需监控 channel 深度可扩展 metrics。合规日志中可能含设备 ID、IP、部分报文注意存储周期与脱敏策略。相关代码路径core/app/sev/vss/main.go—UseSipPrintLogcore/app/sev/vss/internal/svc/service_context.go—SipLogcore/app/sev/vss/internal/logic/gbs_proc/sip_log.gocore/app/sev/vss/internal/logic/sse/sip_logs.go