已合并
[FEAT]error message log usability #4978
booleanwater创建于 9月1日
[FEAT]error message log usability #4978
已合并
booleanwater创建于 9月1日
从已删除 :master合入到cann/hcommmaster
booleanwater成员
9月1日

描述

对报错日志和ERROR MESSAGE进行整改,确保客户自行进行问题分类、定界和定位:

  • 采用三级关键分类
  • 根据定位指导文档提供定位要搜索的关键字,标准化日志的打印
  • 魔鬼数字整改

变更类型

请选择本次引入的变更类型:

关联的Issue

无

测试

已完成的测试用例和场景:

  1. 日志全量扫描
  2. 二级冒烟已通过
    补充的UT用例:
    无

文档更新

合入检查

likedislike
Pull Request已成功合入, 合并人@CANN-robot
(感谢 booleanwater 的贡献)
Bbooleanwater成员
9月1日 创建了 pull request,commit e214ce10
atomgit-bot
atomgit-bot
9月1日 评论:

变更摘要

本 PR 主要提升错误日志的可检索性与可用性:在 hccl_common_v2.h 中新增了三级 LOG_KEYWORDS_* 检索关键字常量(一级如 LOG_KEYWORDS_TASK_EXEC、LOG_KEYWORDS_INIT_GROUP、LOG_KEYWORDS_INIT_CHANNEL,二级如 LOG_KEYWORDS_TIMEOUT、LOG_KEYWORDS_RUN_FAILED、LOG_KEYWORDS_ENV_CONFIG、LOG_KEYWORDS_RANKTABLE_CHECK 等,三级如 LOG_KEYWORDS_HOST、LOG_KEYWORDS_AIV、LOG_KEYWORDS_AICPU、LOG_KEYWORDS_CCU 等),并将各模块的错误日志统一为 [一级][二级][三级] 前缀格式,同时将错误码打印由十进制改为十六进制、补充了多处缺失的关键错误上报,覆盖任务执行异常、ranktable 配置/校验/协商、环境变量与入参校验、建链超时及资源初始化等场景。

主要改动

  • 新增三级日志检索关键字体系并统一日志格式:在 hccl_common_v2.h 集中定义 LOG_KEYWORDS_* 常量,各文件(如 rank_consistentcy_checker.cc、rank_consistency_checker_v2.cc、coll_operator_check.cc、bootstrap_ip.cc 等)的 HCCL_ERROR 前缀由 __func__ 改为关键字组合,便于按阶段/类型/执行单元检索定位错误日志。

  • 任务异常处理日志标准化:hcclCommTaskException.cc、task_exception_handler.cpp、task_exception_handler_lite.cpp 按任务类型构造 stageErrInfo(如 [TaskExecStage][Timeout|RunFailed][HOST|AIV|AICPU|CCU])并贯穿 PrintTaskContextInfo、ReportErrorMsg、ReportEI0018Error 等函数;同时将 errorCode 打印改为 0x%x 十六进制格式,并用常量 UB_CQE_STATUS_MASK = 0xFF 替换 UB CQE 状态取低 8 位的魔法数字。

  • ranktable 配置/校验/协商错误日志增强:json_parser.cc、rank_table_info.cc、address_info.cc、phy_topo_builder.cc、rank_info_detect.cc、rank_info_detect_client.cc、rank_info_detect_service.cc、rank_info_dispatcher.cc 等在原有 RPT_INPUT_ERR/异常抛出之外补充 HCCL_ERROR,统一携带 errNo[0x%016llx] 与 LOG_KEYWORDS_INIT_GROUP + LOG_KEYWORDS_RANKTABLE_* 关键字,覆盖属性缺失、类型/范围非法、文件路径无效、检测超时等场景。

  • 建链超时与资源初始化错误日志补充:ccu_transport_.cc、my_rank.cc、ccu_transport_manager.cpp、ub_memory_transport_mgr.cc、coll_service_base.cc、hccl_one_sided_conn.cc、aiv_ins_preprocessor.cpp 等在建链/等待 transport 超时处新增 [InitChannelStage][Timeout] 日志;orion_adapter_hccp.cc、orion_adapter_rts.cc 对 RDMA 初始化、QP 创建失败及内存分配失败补充 LOG_KEYWORDS_RESOURCE 关键字日志。

  • 环境变量与入参校验错误日志增强:base_config.cc、cfg_field.h、env_func.cc 的环境变量非法日志统一为 [InitGroupStage][EnvConfig] 格式;op_base_v2.cc 将 HcclAllGatherVV2/HcclReduceScatterVV2 的 CHK_PTR_NULL 改为显式空指针检查并输出 [TaskExecStage][InvalidArgument] 日志后返回 HCCL_E_PTR;param_check_v2.cc、op_params_checker.cc 的入参非法日志同样统一关键字格式。

likedislike
不准确?
atomgit-bot
atomgit-bot
9月1日 评论:

代码审查

✅ 未发现问题

likedislike
不准确?
CANN-robotCANN-robot成员
9月1日 添加了label:cann-cla/yes
CANN-robot
CANN-robot成员
9月1日 评论:

CLA Signature Pass

booleanwater, thanks for your pull request. All authors of the commits have signed the CLA. 👍

likedislike
此处折叠了240条消息 查看更多
Bbooleanwater成员
9月8日 修改了pull request 的描述
philo
philo成员
9月8日 评论:

/approve

likedislike
CANN-robot
CANN-robot成员
9月8日 评论:

The following users do not have permission to comment /lgtm or /approve on any module in this PR:
lzdlzdong, zhengjinwei_y

likedislike
CANN-robotCANN-robot成员
9月8日 添加了label:lgtmapproved
CANN-robotCANN-robot成员
9月8日 合入了pull request