淘天以事件打点和分位数监控数字人对话性能
概述
在实施优化前先建成覆盖从 VAD 启动到面部表情播放的全链路监控:基于 std::chrono::high_resolution_clock 提供毫秒级时间戳,用 std::mutex + std::lock_guard 保证多线程并发打点安全,事件枚举覆盖基础链路事件(ASR_START/END、LLM_REQUEST_START/FIRST_TOKEN/COMPLETE、TTS_REQUEST_START/RESPONSE、AUDIO_PLAY_START、ANIMATION_START)与 Omni 事件(Omni_STREAM_START、Omni_FIRST_AUDIO_CHUNK、Omni_AUDIO_WINDOW_SEALED、Omni_A2BS_FACIAL_START/RESPONSE/PLAY_START、Omni_AUDIO_WINDOW_PLAY 等)。 关键事件到达时自动计算 End-to-End 与 End-to-End-BS 指标,数据结构 RequestPerformance 记录 asr_duration_ms、llm_ttft_ms、end_to_end_ms、end_to_end_bs_ms、Omni_first_audio_ms 等,PerformanceStatistics 汇总均值/最大/最小与 P95/P99。 输出支持实时日志、JSON 文件、CSV 导出与统计报表,并通过 PerformanceConfig.h 的 PERFORMANCE_MONITORING_ENABLED 编译开关统一管理。样例报告显示 31 次请求下 ASR 均值 2449.7ms、LLM TTFT 均值 968.5ms(P95 1683/P99 1920)、Omni 首个音频均值 1250.0ms、End-to-End 均值 1264.5ms、End-to-End-BS 均值 1856.6ms。