用途:在任意带数值或分类性能字段的时序数据中,找出哪些字段取值与“坏行为”统计相关。坏行为由阈值定义,例如 duration > 500ms、status_code >= 500、memory > 8Gi、error_rate > 0.05。该技能对指标、结构化日志/事件、span/链路数据等数据形态通用,核心是对每个候选字段值计算 phi 系数并排序。
主要能力:编排三条 OPAL 查询——在用户未给阈值时先计算基于百分位的阈值;对选定数据集/指标运行 phi 相关系数流水线;解释排序结果并给出根因叙述。流水线输出每行包含 attribute、value、bad_count、good_count、total_bad、total_good、frequency_in_bad_cohort、frequency_in_good_cohort、phi,按 phi 降序,最多 50 行。
使用方式:技能有两种调用模式,一是用户直接提问“哪些属性与慢/失败/异常相关”,二是作为 alert-investigation 的配套环节。写 OPAL 前必须先使用 generate-opal 技能。流程为:解析必要输入(数据集、时间范围、thresholdField、thresholdValue/operator、可选 filter 与待分析字段),缺失时向用户提问而非猜测;选择候选字段并区分标量与复杂字段;未给阈值时用 outlier-detection-threshold 计算;按模板组装并运行相关性流水线;最后按 outlier-detection-interpretation 解读。对链路错误问题,若同时满足用户点名具体服务、问题涉及错误、且调查基于分布式链路数据三条,必须先让用户在“服务自身错误/服务给调用方造成的错误/全链路视图”中选定视角,并将 span_kind 或 span_type 纳入分析字段。
适用场景:指标与标签维度、日志级别/状态/消息类别与属性、span 错误或时延与 span 属性,以及任何含性能字段和候选维度字段的数据集。
限制:不要编造数据集 ID、字段名、百分位、操作符或过滤值,需询问用户;不要重写 phi 公式或验证逻辑,按模板复制;不要重命名结果列;不要把 validFromField/validToField、隐藏/const/指标聚合/下划线前缀字段纳入分析;单次不超过 10 个字段;复杂字段需加空对象/空数组保护后再 flatten;高流量数据集从最小时间范围开始;无有意义相关时不要静默放宽时间范围,应先与用户确认。