namespace SHH.CameraSdk; /// /// 相机健康度报告 /// 功能:封装相机的详细运行健康数据,包含状态、性能、故障统计等信息 /// 用途:用于运维分析、故障排查、设备健康度评估,提供比遥测快照更细致的健康指标 /// public class CameraHealthReport { #region --- 设备核心标识 (Device Core Identification) --- /// 设备唯一业务标识(对应数据库ID或配置中的设备ID) public long DeviceId { get; set; } /// 设备IP地址(用于定位具体设备) public string Ip { get; set; } = string.Empty; #endregion #region --- 设备运行状态 (Device Operation Status) --- /// 设备当前运行状态(字符串形式,对应 VideoSourceStatus 枚举值,如 "Streaming"/"Faulted"/"Reconnecting") public string Status { get; set; } = string.Empty; /// 最后一次错误信息(无错误时建议设为空字符串,记录设备最近一次故障原因) public string LastError { get; set; } = string.Empty; #endregion #region --- 性能与延迟指标 (Performance & Latency Metrics) --- /// 实时帧率(单位:fps,反映相机实际输出的有效帧率) /// 统计逻辑:需在 RaiseFrameReceived 事件中增加计数器,按时间窗口计算实时值 public double RealFps { get; set; } /// 推流延迟(单位:毫秒,记录从相机推流到接收端成功接收的总延迟) public double LatencyMs { get; set; } #endregion #region --- 故障与恢复统计 (Fault & Recovery Statistics) --- /// 丢帧计数(因渲染过慢、缓冲区溢出等原因导致的丢弃帧数累计值) public long DropFrames { get; set; } /// 重连次数(哨兵机制触发的自动重连累计次数,反映设备网络稳定性) public int ReconnectCount { get; set; } #endregion }