| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[msprof-master]out分支同步到master分支 Co-authored-by: yu-liang-bin<y1416490440@163.com> | 8 个月前 | |
add pre-commit for module of msconfig,framework and interface. Co-authored-by: chenhao_1209<victor_7437@qq.com> # message auto-generated for no-merge-commit merge: !263 merge master into master add pre-commit for module of msconfig,framework and interface. Created-by: chenhao_1209 Commit-by: chenhao_1209 Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** add pre-commit for module of msconfig,framework and interface. - **修改内容:** 主要包含framework、msconfig、interface模块下的precommit整改 [x] 去除无效的super()调用:aicpu/l2cache/soc_pmu/constant_config删除初始化操作 ---- ## 2. 功能验证 - [x] **功能自验** - [ ] **本地自验用例截图** - [x] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [x] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!263 | 3 个月前 | |
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 | 17 天前 | |
add pre-commit for module of msconfig,framework and interface. Co-authored-by: chenhao_1209<victor_7437@qq.com> # message auto-generated for no-merge-commit merge: !263 merge master into master add pre-commit for module of msconfig,framework and interface. Created-by: chenhao_1209 Commit-by: chenhao_1209 Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** add pre-commit for module of msconfig,framework and interface. - **修改内容:** 主要包含framework、msconfig、interface模块下的precommit整改 [x] 去除无效的super()调用:aicpu/l2cache/soc_pmu/constant_config删除初始化操作 ---- ## 2. 功能验证 - [x] **功能自验** - [ ] **本地自验用例截图** - [x] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [x] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!263 | 3 个月前 | |
[msprof-master]out分支同步到master分支 Co-authored-by: yu-liang-bin<y1416490440@163.com> | 8 个月前 | |
[msprof-master]clean-code问题修改:copyright整改为统一 Co-authored-by: yu-liang-bin<y1416490440@163.com> | 8 个月前 | |
add pre-commit for module of msconfig,framework and interface. Co-authored-by: chenhao_1209<victor_7437@qq.com> # message auto-generated for no-merge-commit merge: !263 merge master into master add pre-commit for module of msconfig,framework and interface. Created-by: chenhao_1209 Commit-by: chenhao_1209 Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** add pre-commit for module of msconfig,framework and interface. - **修改内容:** 主要包含framework、msconfig、interface模块下的precommit整改 [x] 去除无效的super()调用:aicpu/l2cache/soc_pmu/constant_config删除初始化操作 ---- ## 2. 功能验证 - [x] **功能自验** - [ ] **本地自验用例截图** - [x] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [x] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!263 | 3 个月前 | |
ccu c++ part Co-authored-by: xieanran<694099604@qq.com> # message auto-generated for no-merge-commit merge: !492 merge master into master ccu c++ part Created-by: SoraAzzz Commit-by: xieanran Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** CCU优化,新增c++加速模块 - **修改内容:** - [cpp_enable_scene.py](D:/codehub/msprof_toolkit/msprof/analysis/common_func/cpp_enable_scene.py) - DeviceParseScene.SCENE_CHIP_WHITELIST 暂时不增加 CHIP_V6_1_0。 - 让 v6.1 在满足 all-export、task-based、非 custom PMU 等原有条件时,可以进入 CCU C++ 解析。 - 现有 device 数据过滤还受 is_chip_v4() 控制,因此不会顺带开启 v6.1 的整套 device C++ parser。 Device C++ Parser [ccu_parser.h](D:/codehub/msprof_toolkit/msprof/analysis/csrc/domain/services/parser/ccu_parser.h) - 在 mission/channel 数据集中增加 hasCompletedFiles。 - completedFiles 表示本次成功解析、后续需要写 marker 的文件。 - hasCompletedFiles 表示输入中原本已经存在完成标记,用于检查 DB 与 marker 是否一致。 [ccu_parser.cpp](D:/codehub/msprof_toolkit/msprof/analysis/csrc/domain/services/parser/ccu_parser.cpp) - SourceKey.sourceId 从 uint64_t 改为规范化十进制字符串。 - 防止超长 source id 溢出后被合并到同一个 source。 - 前导零会被归一化,例如 0001 与 1 仍视为同一个 source。 - sliceOrder 改为十进制字符串。 - 按数字长度和字典序实现任意长度数字排序。 - 保持相同序号文件的稳定发现顺序。 - 文件扫描时记录是否存在 .complete。 - 同一 source 部分完成、部分未完成时仍然拒绝解析。 - 完成信息传给 persistence 做恢复一致性检查。 - ResolveMissionStreamIds 改为返回成功状态。 - runtime.db 或 HostTask 确实不存在时,继续使用默认 stream 65535。 - HostTask 表存在但查询失败时返回失败,不再伪装成无关联数据。 - 保持按 timestamp 排序、重复 task first-wins。 - mission 相对结束时间增加 uint64_t 加法溢出检查。 - 任意 slot 溢出时,删除当前 record 已展开的部分行并返回失败。 - 避免向后续阶段发布半条 mission 数据。 - mission/channel ProcessEntry 传播文件解析和 HostTask 查询失败。 [ccu_persistence.cpp](D:/codehub/msprof_toolkit/msprof/analysis/csrc/domain/services/parser/ccu_persistence.cpp) - 新增 mission/channel SQLite 整数范围校验。 - mission 校验四个时间字段。 - channel 校验 timestamp。 - 校验在任何表创建和数据写入之前完成,避免已写 mission 后才发现 channel 越界。 - 有待完成文件但解析结果为零行时,也会创建对应空表。 - 表创建成功后才写 .complete。 - 输入存在历史 .complete,但对应表不存在时返回失败。 - 覆盖“source A 已完成、source B 待处理”的混合场景。 - 防止只写 source B 后把不完整数据当成全量结果。 - 没有文件、没有记录时直接成功,不创建无意义的表。 - 保留直接构造 records 后调用 persistence 的兼容行为。 - 所有 mission/channel 一致性检查完成后,才开始实际落库。 - .complete 仍只在对应表写入成功后创建。 Host C++ Parser [ccu_add_info_parser.h](D:/codehub/msprof_toolkit/msprof/analysis/csrc/domain/services/parser/host/cann/ccu_add_info_parser.h) - 为 task、wait-signal、group 分别增加: - SourceParsed:本次发现并成功处理了源文件。 - SourceCompleted:源文件原本已经存在完成标记。 - 增加 HasInput(),统一判断是否有记录、待写 marker、零行源或历史完成源。 [ccu_add_info_parser.cpp](D:/codehub/msprof_toolkit/msprof/analysis/csrc/domain/services/parser/host/cann/ccu_add_info_parser.cpp) - 文件发现阶段返回每类数据是否存在历史 .complete。 - 即使 wait/group 的所有 channel slot 都被过滤、最终生成零行,也保留“该 source 已成功解析”的状态。 - task、wait、group 分别记录解析和完成状态,不依赖芯片型号。 - 任意一类解析失败后清空整个 CcuAddInfoData,避免 dumper 使用部分结果。 - HasInput() 将零行源和历史完成源也视为有效状态输入。 [ccu_add_info_db_dumper.cpp](D:/codehub/msprof_toolkit/msprof/analysis/csrc/domain/services/persistence/host/ccu_add_info_db_dumper.cpp) - task/wait/group 的保存函数允许零行保存成功。 - 仍会创建对应空表,表示该类源已成功处理。 - group dataSize 增加 SQLite INT64 范围校验。 - 在创建或写入任何 host 表之前完成校验。 - 避免 task/wait 已写入后才发现 group 越界。 - 每类历史 .complete 都会检查对应表是否存在。 - 是否落表由“发现源文件或存在直接注入记录”决定,不再只看记录列表是否为空。 - task、wait、group 全部保存成功后才统一创建完成标记。 - marker 创建失败会传递失败状态。 [host_trace_worker.cpp](D:/codehub/msprof_toolkit/msprof/analysis/csrc/domain/services/host_worker/host_trace_worker.cpp) - Run() 最终结果增加 ccuResult_。 - CCU add-info parser 或 dumper 失败后,HostTraceWorker 不再返回整体成功。 - 没有 CCU 文件属于正常空输入,parser/dumper 会返回成功,不影响其他 host 数据处理。 - 没有增加任何 host chip 分支。 Python 公共 CCU 辅助 [ccu_source_calculator.py](D:/codehub/msprof_toolkit/msprof/analysis/msparser/ccu_source_calculator.py) - 增加 mark_ccu_files_complete()。 - 调用原有 FileManager.add_complete_file。 - 调用后检查 marker 文件是否真实存在。 - marker 未成功落盘时返回失败。 - 增加 ccu_table_exists(),供 CCU parser 检查 marker 与数据库表的一致性。 - CcuOffsetCalculator.has_completed_files 检查本 source 是否存在历史 marker。 - CcuSourceCalculator.has_completed_files 聚合所有 device source 的完成状态。 - 没有修改公共 OffsetCalculator 父类。 Python Device Parser [ccu_mission_parser.py](D:/codehub/msprof_toolkit/msprof/analysis/msparser/hardware/ccu_mission_parser.py) - 保存前检查历史 marker 对应的 OriginMission 是否存在。 - 有待完成文件时,即使 mission 结果为零行,也进入 model 创建空表。 - 在打开 model 前校验全部时间字段是否超过 SQLite INT64。 - model flush 成功后才创建 marker,并验证 marker 是否真实存在。 - 保存失败时保留 _pending_complete_files,不会误标完成。 - 增加 CCU 私有 HostTask 查询: - 不修改 HostTaskCollector 或公共 DB/model。 - 缺少 runtime.db 或 HostTask 表时返回空映射,使用 stream 65535。 - 表存在但字段损坏或 SQL 查询失败时抛出错误。 - 按 timestamp 排序并保持重复 task first-wins。 - 使用 Python 官方 sqlite3,没有引入第三方库。 [ccu_channel_parser.py](D:/codehub/msprof_toolkit/msprof/analysis/msparser/hardware/ccu_channel_parser.py) - 保存前检查历史 marker 对应的 OriginChannel 是否存在。 - 零行但存在成功解析文件时创建空表。 - 打开 model 前校验 timestamp 的 SQLite INT64 范围。 - 数据提交成功后才写 marker,并验证 marker。 - 保存或 marker 失败时保留待完成文件,便于诊断和完整重导。 Python Host Parser [ccu_add_info_parser.py](D:/codehub/msprof_toolkit/msprof/analysis/msparser/add_info/ccu_add_info_parser.py) - 建立 DataTag 到 task/wait/group 表名的映射。 - _processed_tags 记录成功处理过的源类型。 - 即使该类型过滤后为零行,也会创建对应空表。 - 保存前统一检查历史 marker 与三张表是否一致。 - group data_size 在任何 model 打开前校验 SQLite INT64 范围。 - task、wait、group 全部保存成功后才写 marker。 - marker 写入后进行真实文件检查。 - 任意保存或 marker 失败都会抛出错误,不清空待完成文件。 - Host 逻辑仍然完全不区分芯片。 ---- ## 2. 功能验证 - [x] **功能自验**   - [ ] **本地自验用例截图** - [x] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) 未通过用例为用例暂未适配导致 ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [x] **是否经过代码检视** - [x] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [x] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [x] **不允许私有的文件操作,需要使用公共模块的安全函数** - [x] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [x] **数组访问需要校验越界场景,对除法需要做除零校验** - [x] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [x] **需要充分进行接口输入和返回值异常情况的校验** - [x] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [x] **指针使用前需要判空** - [x] **数值计算校验溢出和反转** - [x] **不可存在内存泄漏(异常场景需要释放内存)** - [x] **类型转换不能出现数据截断** - [x] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [x] **拷贝内存时,目的缓冲区不小于源缓冲区** - [x] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!492 | 19 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 8 个月前 | ||
| 3 个月前 | ||
| 17 天前 | ||
| 3 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 3 个月前 | ||
| 19 天前 |