| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[msprof-master]out分支同步到master分支 Co-authored-by: yu-liang-bin<y1416490440@163.com> | 9 个月前 | |
[msprof-master]out分支同步到master分支 Co-authored-by: yu-liang-bin<y1416490440@163.com> | 9 个月前 | |
支持纯C接口串联C化流程(msprof pipeline C API) Co-authored-by: chenjunhong6<chenjunhong6@huawei.com> # message auto-generated for no-merge-commit merge: !474 merge dev-B060 into master 支持纯C接口串联C化流程(msprof pipeline C API) Created-by: chenjunhong6 Commit-by: chenjunhong6 Merged-by: ascend-robot Description: # msprof 纯 C 接口串联 PR 合入说明 ---- ## 1. 修改描述 - **修改原因:** - 既有 C 化解析和导出能力由 Python 层以多个子进程分别调度,存在进程切换和模块加载开销,且缺少可供非 Python 调用方集成的单一 C ABI。 - host 与 device 数据解析需要以 host 优先的顺序完成;需在 C++ 编排层固化该执行关系。 - **修改内容:** - 新增 MsprofRunPipeline 纯 C 接口与 MsprofPipeline C++ 编排器,按 CANN_TRACE -> DEVICE_DATA -> DB -> TIMELINE -> SUMMARY 执行 flags 选中的阶段。 - 新增 MsprofPipelineOptions、合法阶段位 MSPROF_PIPELINE_ALL 与错误码约定;空 flags、未知 flags、无效 PROF 路径及无效 Timeline JSON 路径返回 MSPROF_INVALID_PARAM。 - C API 负责 options 空指针校验;C++ Run 使用 const MsprofPipelineOptions &,避免内部重复进行对象空指针校验。 - 新增 File::ParentPath 公共工具函数,修复 /x 的父目录应为 / 的边界语义,支持 / 与 \\ 分隔符。 - 新增 Python ctypes 包装层;SO 无效或动态加载失败时返回 MSPROF_ERROR,不向调用方抛裸 OSError。 - 新增 C++ 与 Python 单测,覆盖 flags、路径推导、Timeline 配置文件、SO 加载失败和 C API 转调。 - C API 注释明确:本接口不包含 Python 侧 dump_device_data / export_unified_db 的场景校验,调用方需保证使用前置条件。 ---- ## 2. 功能验证 - [x] **功能自验** - 已检查 C API 参数校验、host 优先路径推导、固定阶段顺序、Python SO 加载异常处理及公共父路径工具函数。 - [ ] **本地自验用例截图** - 不涉及图形化界面,无截图。 - [ ] **冒烟是否通过** - [x] **Python 单测** - test.msprof_python.ut.testcase.msinterface.test_msprof_python_c_api:6 项通过。 - [ ] **C++ 单测** - msprof_pipeline_utest、utils_utest 已新增/更新用例,但本地未执行,原因同上。 - [x] **pre-commit** - 已完整执行并通过:基础检查、Ruff、Pylint、Bandit、Typos、Clang-Format、Gitleaks 等;Clang-Tidy 按仓库规则未匹配待检查文件。 ---- ## 3. 分支合并要求 - [ ] **代码合并** - 未在本 PR 工作区执行 master 同步合并;合入前由 PR 维护者确认目标分支最新状态及冲突情况。 ---- ## 4. 代码检视 - [x] **是否经过代码检视** - 已在 PR !474 收集检视意见并逐项处理或记录处理边界。 - [x] **是否具备 UT 测试用例看护** - 新增 pipeline C++ UT、公共 File::ParentPath UT 与 Python ctypes 包装层 UT;C++ UT 待 Linux 环境执行。 ---- ## 5. 安全自检 ### Python、C++ - [x] **对外接口新增后同步接口资料**:C API 头文件、RFC 和本合入说明已更新;正式开发者手册章节待后续同步。 - [x] **使用公共文件操作模块**:路径存在性与父目录推导使用 File 公共工具。 - [x] **接口输入和返回异常校验**:校验空指针、路径、flags、Timeline JSON 和 SO 加载异常。 - [x] **日志不暴露敏感信息**:仅记录 SO 可用性及既有业务错误,不输出敏感数据内容。 - [x] **数组、除法、递归、正则**:本次改动不涉及。 ### C++ - [x] **指针使用前判空**:C API 在解引用 options 前完成判空;内部引用参数不再重复判空。 - [x] **数值溢出、截断、数组越界、内存释放**:本次改动不涉及相应计算、缓冲区或资源所有权变更。 - [x] **路径边界**:ParentPath 覆盖空路径、无分隔符、根目录子项和两类分隔符。 ---- ## 6. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** See merge request: Ascend/msprof!474 | 1 个月前 | |
fix: 修正全 C DataTag 白名单并添加打屏日志 Co-authored-by: chenqm<chenzhipeng51@huawei.com> # message auto-generated for no-merge-commit merge: !506 merge fix/full-c-data-tag-fallback into master fix: 修正全 C DataTag 白名单并添加打屏日志 Created-by: chenqm Commit-by: chenqm Merged-by: ascend-robot Description: ## 1. 修改描述 - **修改原因:** 全 C 预检需要区分已知但无解析规则的文件与真正未知的 raw 数据,同时补齐已启用的 host 数据能力,并提供可定位的诊断信息。 - **修改内容:** - 忽略 stream_sq_info 等已知不会进入 FileDispatch 解析流程的文件;其他未映射且非空的 raw 文件报告 UNKNOWN_RAW_DATA,避免数据被静默丢弃。 - 补齐 RUNTIME_OP_INFO、CAPTURE_STREAM_INFO、MC2_COMM_INFO、STREAM_EXPAND、CCU_TASK、CCU_WAIT_SIGNAL、CCU_GROUP 等 host 数据 tag;未启用 C 入口的 STATIC_OP_MEM 继续回退。 - 全 C 预检回退时将 reason code、说明和详细参数记录到 collection 日志,并在控制台输出来源文件名、result 目录名和 reason code;同时输出全 C 流程的开始、完成和失败状态。 - 为全 C 预检新增独立的 check_dir_can_create_entry,检查目录创建条目所需的写权限和执行权限;公共 check_dir_writable 保持原有写权限语义,避免影响其他写文件流程。 - 补充完成标记写入的异常处理,并完善决策、权限和日志相关 UT。 - 增加 lpm_info 的 C 化解析、持久化处理及对应能力配置。 ## 2. 功能验证 - [x] 覆盖 raw 数据识别、tag 能力判断、目录权限检查及日志输出。 - [x] 提交 hooks 通过:Ruff、pylint、bandit、codespell、typos、Gitleaks 等;git diff --check 通过。 - [ ] 标准环境冒烟及真实数据 E2E:未执行。 基于 master 2756d5ec0,最终分支相对目标基线保留 1 个修复提交。 ## 3. 安全自检 - [x] 无新增或删除 CLI 参数。 - [x] 文件操作复用既有日志路径和目录校验机制。 - [x] 保留预检回退与 native 执行失败传播,并补充权限异常处理。 - [x] 日志记录必要诊断信息,不输出凭据。 本 PR 无 C++ 源码修改。 See merge request: Ascend/msprof!506 | 1 个月前 | |
简化全 C 流程判断逻辑,并在 Python 入口接入全 C 流程 Co-authored-by: chenqm<chenzhipeng51@huawei.com> # message auto-generated for no-merge-commit merge: !501 merge feature/simplify-full-c-entry into master 简化全 C 流程判断逻辑,并在 Python 入口接入全 C 流程 Created-by: chenqm Commit-by: chenqm Merged-by: ascend-robot Description: ## 1. 修改描述 - **修改原因:** 现有全 C 流程判定存在重复检查和冗余能力配置,且 Python import/export 入口尚未接入统一判定后的全 C 执行流程。 - **修改内容:** - 简化判定逻辑,按命令适用范围检查选项,复用文件识别、路径校验及切片配置读取逻辑,精简能力配置。 - 在 Python import/export 入口接入统一判定;满足条件时通过子进程调用全 C 流程,不满足条件时沿用原有流程。 - 保留合法目录遍历及有效数据计数逻辑,补充判定、参数传递、回退和错误传播测试。 ## 2. 功能验证 - [ ] **功能自验**:已完成局部验证。 - [ ] **本地自验用例截图**:未提供。 - [ ] **冒烟是否通过**:未执行标准环境冒烟。 验证记录: - 93 tests、37 subtests 通过。 - 7 个变更生产 Python 文件的 Ruff check、Ruff format --check、pylint 通过。 ## 3. 分支合并要求 - [ ] **代码合并**。 ## 3. 代码检视 - [ ] **是否经过代码检视** - [x] **是否具备 UT 测试用例看护** - **检视意见数:** - **待跟进:** ## 4. 安全自检 ### Python、C++ - [ ] 对外接口与资料同步:待完整核验。 - [ ] 文件操作、临时文件清理:已复用现有公共工具,待正式安全检视。 - [ ] 越界、除零、递归及正则风险:待正式安全检视。 - [ ] 入参校验、异常处理及日志:已有局部测试,待完整核验。 ### C++ 不涉及本 PR 的 C++ 源码修改。 ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)**:未执行。 See merge request: Ascend/msprof!501 | 1 个月前 | |
父目录包含非法子目录时继续处理合法Profiling数据 Co-authored-by: wuzhaonan<1263703239@qq.com> # message auto-generated for no-merge-commit merge: !496 merge fix/python-entry-skip-invalid-dirs into master [bugfix][msprof]跳过父目录中的非法Profiling子目录 Created-by: wuzhaonan Commit-by: wuzhaonan Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** - - 用户指定的父目录同时包含合法 Profiling 数据和非法、残缺或不可访问的子目录时,原流程会因单个异常目录而整体中断,导致合法数据无法继续处理。 - **修改内容:** 1. 保留用户输入根目录的严格合法性检查; 2. 在子目录遍历阶段跳过非法或不可访问目录,并输出 warning; 3. 统一适配 import、export、query 和 analyze 四个命令; 4. 只要存在合法 Profiling 数据就继续处理并返回原有处理结果; 5. 全部子目录均无效时,沿用 PROF_INVALID_PATH_ERROR,退出码为 2; 6. Profiling 数据解析错误和 Cluster 一致性错误仍按原有错误码向上抛出; 7. 补充相关回归及异常边界单元测试。 ---- ## 2. 功能验证 - [√ ] **功能自验** 1、修复前的输出 -  2、修复后的输出(非法目录只有警告) -  3、修复后的文件输出 -  - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!496 | 1 个月前 | |
简化全 C 流程判断逻辑,并在 Python 入口接入全 C 流程 Co-authored-by: chenqm<chenzhipeng51@huawei.com> # message auto-generated for no-merge-commit merge: !501 merge feature/simplify-full-c-entry into master 简化全 C 流程判断逻辑,并在 Python 入口接入全 C 流程 Created-by: chenqm Commit-by: chenqm Merged-by: ascend-robot Description: ## 1. 修改描述 - **修改原因:** 现有全 C 流程判定存在重复检查和冗余能力配置,且 Python import/export 入口尚未接入统一判定后的全 C 执行流程。 - **修改内容:** - 简化判定逻辑,按命令适用范围检查选项,复用文件识别、路径校验及切片配置读取逻辑,精简能力配置。 - 在 Python import/export 入口接入统一判定;满足条件时通过子进程调用全 C 流程,不满足条件时沿用原有流程。 - 保留合法目录遍历及有效数据计数逻辑,补充判定、参数传递、回退和错误传播测试。 ## 2. 功能验证 - [ ] **功能自验**:已完成局部验证。 - [ ] **本地自验用例截图**:未提供。 - [ ] **冒烟是否通过**:未执行标准环境冒烟。 验证记录: - 93 tests、37 subtests 通过。 - 7 个变更生产 Python 文件的 Ruff check、Ruff format --check、pylint 通过。 ## 3. 分支合并要求 - [ ] **代码合并**。 ## 3. 代码检视 - [ ] **是否经过代码检视** - [x] **是否具备 UT 测试用例看护** - **检视意见数:** - **待跟进:** ## 4. 安全自检 ### Python、C++ - [ ] 对外接口与资料同步:待完整核验。 - [ ] 文件操作、临时文件清理:已复用现有公共工具,待正式安全检视。 - [ ] 越界、除零、递归及正则风险:待正式安全检视。 - [ ] 入参校验、异常处理及日志:已有局部测试,待完整核验。 ### C++ 不涉及本 PR 的 C++ 源码修改。 ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)**:未执行。 See merge request: Ascend/msprof!501 | 1 个月前 | |
[Feature]:Profiler模块新增host cpu频率数据解析 Co-authored-by: yuliangbin<y1416490440@163.com> # message auto-generated for no-merge-commit merge: !468 merge cpu_freq_2 into master [Feature]:Profiler模块新增host cpu频率数据解析 Created-by: yu_liangbin Commit-by: yuliangbin Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** host侧cpu数据新增cpu频率,解析侧需要适配 - **修改内容:** 1. kernel_parser_worker.cpp、kernel_parser_worker.h:在 host 侧统一 C++ 解析流程里新增 DumpHostSystemProfileData() 这一层,用来承接 cpu_freq 解析,并为后续更多 host system profile 数据预留统一入口。 2. host_cpu_freq_parser.cpp、host_cpu_freq_parser.h:新增 host cpu_freq 原始切片文件解析能力,负责读取 host_cpu_freq.data.slice_* 并产出可落库的数据对象。 3. file_name_manager.py、host_data_check_manager.py、db_name_constant.py:新增 host cpu_freq 文件识别、数据存在性检查和 host_cpu_freq.db 常量定义,让整条链路能识别这类 host 数据。 4. db_constant.h、msprof_db.cpp、db_assembler.cpp、db_topology_register.cpp:新增 CPU_FREQ 数据表、落库字段、assembler 保存逻辑和 DB 拓扑注册,使 host cpu_freq 能写入 host_cpu_freq.db。 5. host_usage_processor.cpp、data_processor_topology_register.cpp:新增 HostCpuFreqProcessor 处理链,把解析后的 host cpu_freq 数据接入数据处理拓扑。 6. export_data_type.py、msprof_export.py、msprof_export_data_config.py:新增 cpu_freq 导出类型、导出配置项和导出入口识别能力,让 msprof export 能正式支持 cpu_freq。 7. msprof_export_data.py:新增 host cpu_freq 到 msprof.json 的 timeline 组装逻辑,从 host_cpu_freq.db 读取 CpuFreq 表并转换成 UI 可消费的 timeline 事件。 8. trace_view_header_constant.py:新增 CPU Frequency 对应的 process 名称、component layer 和排序常量,用于 Python 侧 timeline/UI 展示识别。 9. meta_data_event.h:新增 C++ timeline 侧 PROCESS_CPU_FREQUENCY 和对应 layer info,并把 LAYER_CPU_FREQUENCY_SORT 追加到固定 layer 末尾,保证老 layer 排序和值不变。 10. json_process_enum.h、host_usage_assembler.cpp、host_usage_assembler.h、timeline_factory.cpp、timeline_manager.cpp、timeline_topology_register.cpp:新增 CPU Frequency 的 C++ timeline process 枚举、assembler、工厂和拓扑注册,让 cpu_freq 能进入统一 C++ timeline 主链。 ---- ## 2. 功能验证 - [x] **功能自验** 一、A2-msprof工具单卡开启--host-sys=cpu,mem  Text类型:  Db类型:  二、A2-torch_npu.profiler工具单卡开启host-sys=cpu,mem   Text类型:  Db类型:  三、A2-torch_npu.profiler工具多卡开启host-sys=cpu,mem   Text类型:  Db类型:  四、普通用户采集cpu,mem  Text类型:  Db类型:  - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!468 | 1 个月前 | |
简化全 C 流程判断逻辑,并在 Python 入口接入全 C 流程 Co-authored-by: chenqm<chenzhipeng51@huawei.com> # message auto-generated for no-merge-commit merge: !501 merge feature/simplify-full-c-entry into master 简化全 C 流程判断逻辑,并在 Python 入口接入全 C 流程 Created-by: chenqm Commit-by: chenqm Merged-by: ascend-robot Description: ## 1. 修改描述 - **修改原因:** 现有全 C 流程判定存在重复检查和冗余能力配置,且 Python import/export 入口尚未接入统一判定后的全 C 执行流程。 - **修改内容:** - 简化判定逻辑,按命令适用范围检查选项,复用文件识别、路径校验及切片配置读取逻辑,精简能力配置。 - 在 Python import/export 入口接入统一判定;满足条件时通过子进程调用全 C 流程,不满足条件时沿用原有流程。 - 保留合法目录遍历及有效数据计数逻辑,补充判定、参数传递、回退和错误传播测试。 ## 2. 功能验证 - [ ] **功能自验**:已完成局部验证。 - [ ] **本地自验用例截图**:未提供。 - [ ] **冒烟是否通过**:未执行标准环境冒烟。 验证记录: - 93 tests、37 subtests 通过。 - 7 个变更生产 Python 文件的 Ruff check、Ruff format --check、pylint 通过。 ## 3. 分支合并要求 - [ ] **代码合并**。 ## 3. 代码检视 - [ ] **是否经过代码检视** - [x] **是否具备 UT 测试用例看护** - **检视意见数:** - **待跟进:** ## 4. 安全自检 ### Python、C++ - [ ] 对外接口与资料同步:待完整核验。 - [ ] 文件操作、临时文件清理:已复用现有公共工具,待正式安全检视。 - [ ] 越界、除零、递归及正则风险:待正式安全检视。 - [ ] 入参校验、异常处理及日志:已有局部测试,待完整核验。 ### C++ 不涉及本 PR 的 C++ 源码修改。 ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)**:未执行。 See merge request: Ascend/msprof!501 | 1 个月前 | |
fix mstx data analysis err in acl graph scene Co-authored-by: mei-feiyao<meifeiyao@h-partners.com> # message auto-generated for no-merge-commit merge: !261 merge tagid into master fix mstx data analysis err in acl graph scene Created-by: mei-feiyao Commit-by: mei-feiyao Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** 1.aclgraph场景,在capture的阶段内调用mstx打点接口进行打点的话,打点的task会被捕捉到图里。当该图多次replay时,会多次执行相同的打点task,最终采集到的device打点数据里index_id字段也会重复; 2.解析device打点数据的逻辑未适配该场景,最终解析时使用相同index_id的最早打点时间作为开始时间,使用最晚打点时间作为结束时间,最终呈现的device打点耗时错误。 - **修改内容:** 1.cann 9.1.0以后,mark打点tag id是11,range打点tag id是12,增加方法判断数据对应的cann版本信息; 2.修改解析逻辑,判断是9.1.0以后的cann,将相同index_id的打点数据按时间排序后,每两个匹配,作为一段打点的开始和结束打点;否则保持之前的逻辑 3.生成tx.csv时,以前只会生成相同mark id里的最后一条数据,现在修复保留并生成所有的打点数据 4.C化部分修改device tx数据的处理逻辑,对于tagid是11的数据直接保存,对于tagid是12的数据先按index id和timestamp排序,再两两配对,拼接成range ---- ## 2. 功能验证 - [ ] **功能自验**    - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!261 | 4 个月前 | |
父目录包含非法子目录时继续处理合法Profiling数据 Co-authored-by: wuzhaonan<1263703239@qq.com> # message auto-generated for no-merge-commit merge: !496 merge fix/python-entry-skip-invalid-dirs into master [bugfix][msprof]跳过父目录中的非法Profiling子目录 Created-by: wuzhaonan Commit-by: wuzhaonan Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** - - 用户指定的父目录同时包含合法 Profiling 数据和非法、残缺或不可访问的子目录时,原流程会因单个异常目录而整体中断,导致合法数据无法继续处理。 - **修改内容:** 1. 保留用户输入根目录的严格合法性检查; 2. 在子目录遍历阶段跳过非法或不可访问目录,并输出 warning; 3. 统一适配 import、export、query 和 analyze 四个命令; 4. 只要存在合法 Profiling 数据就继续处理并返回原有处理结果; 5. 全部子目录均无效时,沿用 PROF_INVALID_PATH_ERROR,退出码为 2; 6. Profiling 数据解析错误和 Cluster 一致性错误仍按原有错误码向上抛出; 7. 补充相关回归及异常边界单元测试。 ---- ## 2. 功能验证 - [√ ] **功能自验** 1、修复前的输出 -  2、修复后的输出(非法目录只有警告) -  3、修复后的文件输出 -  - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!496 | 1 个月前 | |
父目录包含非法子目录时继续处理合法Profiling数据 Co-authored-by: wuzhaonan<1263703239@qq.com> # message auto-generated for no-merge-commit merge: !496 merge fix/python-entry-skip-invalid-dirs into master [bugfix][msprof]跳过父目录中的非法Profiling子目录 Created-by: wuzhaonan Commit-by: wuzhaonan Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** - - 用户指定的父目录同时包含合法 Profiling 数据和非法、残缺或不可访问的子目录时,原流程会因单个异常目录而整体中断,导致合法数据无法继续处理。 - **修改内容:** 1. 保留用户输入根目录的严格合法性检查; 2. 在子目录遍历阶段跳过非法或不可访问目录,并输出 warning; 3. 统一适配 import、export、query 和 analyze 四个命令; 4. 只要存在合法 Profiling 数据就继续处理并返回原有处理结果; 5. 全部子目录均无效时,沿用 PROF_INVALID_PATH_ERROR,退出码为 2; 6. Profiling 数据解析错误和 Cluster 一致性错误仍按原有错误码向上抛出; 7. 补充相关回归及异常边界单元测试。 ---- ## 2. 功能验证 - [√ ] **功能自验** 1、修复前的输出 -  2、修复后的输出(非法目录只有警告) -  3、修复后的文件输出 -  - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!496 | 1 个月前 | |
bugfix: dpu 栏命名修改为CANN DPU,对齐设计文档 Co-authored-by: Seanesmhxocism<617225691@qq.com> # message auto-generated for no-merge-commit merge: !236 merge cDev into master bugfix: dpu 栏命名修改为CANN DPU,对齐设计文档 Created-by: Seanesmhxocism Commit-by: Seanesmhxocism Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** 代码实现时候,是将DPU栏目设计为,DPU DPU0。和需求澄清阶段的设计存在差异,这块统一对齐为CANN DPU0的呈现效果。 - **修改内容:** DPU DPU0变更为CANN DPU0 ---- ## 2. 功能验证 - [ ] **功能自验** - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!236 | 4 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 9 个月前 | ||
| 9 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 4 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 4 个月前 |