MindStudio-Service-Profiler(msserviceprofiler)是MindStudio推理服务化性能数据采集工具,采集关键过程的开始和结束时间点,识别关键函数或迭代等信息,记录关键事件,支持多样的信息采集,对性能问题快速定界。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
docs: 资料风格统一 Co-authored-by: cai-weiwei1989<734267852@qq.com> # message auto-generated for no-merge-commit merge: !300 merge master into master docs: 资料风格统一 Created-by: cai-weiwei1989 Commit-by: cai-weiwei1989 Merged-by: ascend-robot Description: ### 1. 修改描述 - **修改原因:** - **修改内容:** 同步PR:https://gitcode.com/Ascend/msserviceprofiler/pull/294 - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ### 2. 功能验证 - [ ] **功能自验** - [ ] **本地自验用例截图**(请确保不体现个人信息) - [ ] **冒烟是否通过** ---- ### 3. 代码检视 - **要求:** - 合入代码大于 200 行,需三人以上会议检视。 - 检视密度≥2个/100行。 - 检视缺陷密度达不到要求的需给出说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** ---- ### 4. 安全自检 **典型安全编码问题** - [ ] **若涉及对外接口,是否已校验外部数据** - [ ] **MR 标题和描述是否按格式填写** - [ ] **是否进行空指针校验** - [ ] **是否进行返回值校验** - [ ] **是否正确考虑文件权限配置** - [ ] **是否充分考虑接口的异常场景** - [ ] **是否正确记录错误日志** - [ ] **若涉及正则表达式,是否对正则表达式做 ReDos 校验** - [ ] **若涉及运算,是否存在整数溢出、除零等风险** ---- ### 5. 变更知会 - **资料修改:** - **变更通知(消息知会 + 邮件知会):** ---- ### 6. 冒烟修改 - **PR 来源:** - [ ] 问题单 - [ ] 需求特性 - [ ] 安全排查 - [ ] 其他 - [ ] **是否存在冒烟可以拦截却未拦截的情况** - [ ] **是否需要添加冒烟:** ---- See merge request: Ascend/msserviceprofiler!300 | 2 个月前 | |
适配新统一构建镜像 Co-authored-by: mengguangxin<mgx0018@163.com> # message auto-generated for no-merge-commit merge: !365 merge dev_0602 into master 适配新统一构建镜像 Created-by: mengguangxin Commit-by: mengguangxin Merged-by: ascend-robot Description: # PR 合入模板 ## 1. 修改描述 - **修改原因:** 适配新的统一构建镜像,做新老镜像兼容修改。 - **修改内容:** 因桩库编译和UT都需要:编译出来就是纯空实现/返回成功,对生产 .so 无实际影响——跑生产时走真库链接,桩只是编译时提供 target,不再依赖环境变量,UT直接依赖这个,所以改为默认就执行,不再判断环境变量。增加一些include路径。 - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ## 2. 功能验证 - [ ] **功能自验** NA - [ ] **本地自验用例截图**(请确保不体现个人信息) NA - [ ] **冒烟是否通过** 通过 ---- ## 3. 代码检视 - **要求:** - 合入代码大于 200 行,需三人以上会议检视。 - 检视密度≥2个/100行。 - 检视缺陷密度达不到要求的需给出说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** 是 - [ ] **是否具备UT测试用例看护** NA ---- ## 4. 安全自检 **典型安全编码问题** - [ ] **若涉及对外接口,是否已校验外部数据** - [ ] **MR 标题和描述是否按格式填写** - [ ] **是否进行空指针校验** - [ ] **是否进行返回值校验** - [ ] **是否正确考虑文件权限配置** - [ ] **是否充分考虑接口的异常场景** - [ ] **是否正确记录错误日志** - [ ] **若涉及正则表达式,是否对正则表达式做 ReDos 校验** - [ ] **若涉及运算,是否存在整数溢出、除零等风险** ---- ## 5. 变更知会 - **资料修改:** - **变更通知(消息知会 + 邮件知会):** ---- ## 6. 冒烟修改 - **PR 来源:** - [ ] 问题单 - [ ] 需求特性 - [ ] 安全排查 - [ ] 其他 - [ ] **是否存在冒烟可以拦截却未拦截的情况** - [ ] **是否需要添加冒烟:** ---- See merge request: Ascend/msserviceprofiler!365 | 1 个月前 | |
【msserviceprofiler_master】使用相对库名导致不可信搜索路径 问题修复。 Co-authored-by: hewenbo<hewenbo16@h-partners.com> # message auto-generated for no-merge-commit merge: !399 merge master into master 【msserviceprofiler_master】使用相对库名导致不可信搜索路径 问题修复。 Created-by: hewenbo Commit-by: hewenbo Merged-by: ascend-robot Description: # PR 合入模板 ## 1. 修改描述 - **修改原因:【msserviceprofiler_master】使用相对库名导致不可信搜索路径 问题修复。 - **修改内容:【msserviceprofiler_master】使用相对库名导致不可信搜索路径 问题修复。 - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ## 2. 功能验证 - [ ] **功能自验** - [ ] **本地自验用例截图**(请确保不体现个人信息) - [ ] **冒烟是否通过** ---- ## 3. 代码检视 - **要求:** - 合入代码大于 200 行,需三人以上会议检视。 - 检视密度≥2个/100行。 - 检视缺陷密度达不到要求的需给出说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** ---- ## 4. 安全自检 **典型安全编码问题** - [ ] **若涉及对外接口,是否已校验外部数据** - [ ] **MR 标题和描述是否按格式填写** - [ ] **是否进行空指针校验** - [ ] **是否进行返回值校验** - [ ] **是否正确考虑文件权限配置** - [ ] **是否充分考虑接口的异常场景** - [ ] **是否正确记录错误日志** - [ ] **若涉及正则表达式,是否对正则表达式做 ReDos 校验** - [ ] **若涉及运算,是否存在整数溢出、除零等风险** ---- ## 5. 变更知会 - **资料修改:** - **变更通知(消息知会 + 邮件知会):** ---- ## 6. 冒烟修改 - **PR 来源:** - [ ] 问题单 - [ ] 需求特性 - [ ] 安全排查 - [ ] 其他 - [ ] **是否存在冒烟可以拦截却未拦截的情况** - [ ] **是否需要添加冒烟:** ---- See merge request: Ascend/msserviceprofiler!399 | 11 天前 | |
【master】【docs】:大模型检查低错修改;doctools检查问题清零 Co-authored-by: zzm30<zhengzhimin1@h-partners.com> # message auto-generated for no-merge-commit merge: !401 merge master into master 【master】【docs】:大模型检查低错修改;doctools检查问题清零 Created-by: zzm30 Commit-by: zzm30 Merged-by: ascend-robot Description: # PR 合入模板 ## 1. 修改描述 1. 大模型检查低错修改; 2. doctools检查问题清零。 See merge request: Ascend/msserviceprofiler!401 | 5 天前 | |
【master】【docs】:大模型检查低错修改;doctools检查问题清零 Co-authored-by: zzm30<zhengzhimin1@h-partners.com> # message auto-generated for no-merge-commit merge: !401 merge master into master 【master】【docs】:大模型检查低错修改;doctools检查问题清零 Created-by: zzm30 Commit-by: zzm30 Merged-by: ascend-robot Description: # PR 合入模板 ## 1. 修改描述 1. 大模型检查低错修改; 2. doctools检查问题清零。 See merge request: Ascend/msserviceprofiler!401 | 5 天前 | |
【msserviceprofiler_master】SGlang在最新镜像采集解析问题修复 Co-authored-by: hewenbo<hewenbo16@h-partners.com> # message auto-generated for no-merge-commit merge: !404 merge master into master 【msserviceprofiler_master】SGlang在最新镜像采集解析问题修复 Created-by: hewenbo Commit-by: hewenbo Merged-by: ascend-robot Description: # PR 合入模板 ## 1. 修改描述 - **修改原因:【msserviceprofiler_master】SGlang采集解析问题修复 - **修改内容:【msserviceprofiler_master】SGlang采集解析问题修复 - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ## 2. 功能验证 - [x] **功能自验** - [ ] **本地自验用例截图**(请确保不体现个人信息) - [ ] **冒烟是否通过** ---- ## 3. 代码检视 - **要求:** - 合入代码大于 200 行,需三人以上会议检视。 - 检视密度≥2个/100行。 - 检视缺陷密度达不到要求的需给出说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [x] **是否经过代码检视** - [x] **是否具备UT测试用例看护** ---- ## 4. 安全自检 **典型安全编码问题** - [x] **若涉及对外接口,是否已校验外部数据** - [x] **MR 标题和描述是否按格式填写** - [x] **是否进行空指针校验** - [x] **是否进行返回值校验** - [x] **是否正确考虑文件权限配置** - [x] **是否充分考虑接口的异常场景** - [x] **是否正确记录错误日志** - [x] **若涉及正则表达式,是否对正则表达式做 ReDos 校验** - [x] **若涉及运算,是否存在整数溢出、除零等风险** ---- ## 5. 变更知会 - **资料修改:** - **变更通知(消息知会 + 邮件知会):** ---- ## 6. 冒烟修改 - **PR 来源:** - [ ] 问题单 - [ ] 需求特性 - [ ] 安全排查 - [x] 其他 - [ ] **是否存在冒烟可以拦截却未拦截的情况** - [ ] **是否需要添加冒烟:** ---- See merge request: Ascend/msserviceprofiler!404 | 7 天前 | |
修复资料issue&新增重复粒子skip功能 Co-authored-by: tt0cool<xujintao8@h-partners.com> # message auto-generated for no-merge-commit merge: !359 merge master into master 修复资料issue&新增重复粒子skip功能 Created-by: tt0cool Commit-by: tt0cool Merged-by: ascend-robot Description: # PR 合入模板 ## 1. 修改描述 - **修改原因:资料issue&出现重复粒子重复测试浪费时间 - **修改内容:修改资料以及新增重复粒子skip功能 - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ## 2. 功能验证 - [ ] **功能自验** - [ ] **本地自验用例截图**(请确保不体现个人信息) - [ ] **冒烟是否通过** ---- ## 3. 代码检视 - **要求:** - 合入代码大于 200 行,需三人以上会议检视。 - 检视密度≥2个/100行。 - 检视缺陷密度达不到要求的需给出说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** ---- ## 4. 安全自检 **典型安全编码问题** - [ ] **若涉及对外接口,是否已校验外部数据** - [ ] **MR 标题和描述是否按格式填写** - [ ] **是否进行空指针校验** - [ ] **是否进行返回值校验** - [ ] **是否正确考虑文件权限配置** - [ ] **是否充分考虑接口的异常场景** - [ ] **是否正确记录错误日志** - [ ] **若涉及正则表达式,是否对正则表达式做 ReDos 校验** - [ ] **若涉及运算,是否存在整数溢出、除零等风险** ---- ## 5. 变更知会 - **资料修改:** - **变更通知(消息知会 + 邮件知会):** ---- ## 6. 冒烟修改 - **PR 来源:** - [ ] 问题单 - [ ] 需求特性 - [ ] 安全排查 - [ ] 其他 - [ ] **是否存在冒烟可以拦截却未拦截的情况** - [ ] **是否需要添加冒烟:** ---- See merge request: Ascend/msserviceprofiler!359 | 1 个月前 | |
【安全】【advisor】删除npu-smi命令执行失败直接抛出的异常日志信息,防止泄露敏感信息 Co-authored-by: ChenHuiwen<chenhuiwen7@huawei.com> # message auto-generated for no-merge-commit merge: !208 merge bug-fix into master 【安全】【advisor】删除npu-smi命令执行失败直接抛出的异常日志信息,防止泄露敏感信息 Created-by: ChenHuiwen Commit-by: ChenHuiwen Merged-by: ascend-robot Description: ### 1. 修改描述 - **修改原因:** 【安全】【advisor】删除npu-smi命令执行失败直接抛出的异常日志信息,防止泄露敏感信息 - **修改内容:** 【安全】【advisor】删除npu-smi命令执行失败直接抛出的异常日志信息,防止泄露敏感信息 - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ### 2. 功能验证 - [x] **功能自验** - [x] **本地自验用例截图**(请确保不体现个人信息) - [x] **冒烟是否通过** ---- ### 3. 代码检视 - **要求:** - 合入代码大于 200 行,需三人以上会议检视。 - 检视密度≥2个/100行。 - 检视缺陷密度达不到要求的需给出说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [x] **是否经过代码检视** - [x] **是否具备UT测试用例看护** ---- ### 4. 安全自检 **典型安全编码问题** - [x] **若涉及对外接口,是否已校验外部数据** - [x] **MR 标题和描述是否按格式填写** - [x] **是否进行空指针校验** - [x] **是否进行返回值校验** - [x] **是否正确考虑文件权限配置** - [x] **是否充分考虑接口的异常场景** - [x] **是否正确记录错误日志** - [x] **若涉及正则表达式,是否对正则表达式做 ReDos 校验** - [x] **若涉及运算,是否存在整数溢出、除零等风险** ---- ### 5. 变更知会 - **资料修改:** - **变更通知(消息知会 + 邮件知会):** ---- ### 6. 冒烟修改 - **PR 来源:** - [ ] 问题单 - [ ] 需求特性 - [x] 安全排查 - [ ] 其他 - [ ] **是否存在冒烟可以拦截却未拦截的情况** - [ ] **是否需要添加冒烟:** ---- See merge request: Ascend/msserviceprofiler!208 | 3 个月前 | |
【msServiceprofiler】【公共check】上线pre-commit功能 Co-authored-by: Mad97_<chepishuai1@h-partners.com> # message auto-generated for no-merge-commit merge: !309 merge pre_commit into master 【msServiceprofiler】【公共check】上线pre-commit功能 Created-by: Mad97_ Commit-by: Mad97_ Merged-by: ascend-robot Description: # PR 合入模板 ## 1. 修改描述 - **修改原因:** 上线pre-commit功能 - **修改内容:** 上线pre-commit功能 - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ## 2. 功能验证 - [ ] **功能自验** - [ ] **本地自验用例截图**(请确保不体现个人信息) - [ ] **冒烟是否通过** ---- ## 3. 代码检视 - **要求:** - 合入代码大于 200 行,需三人以上会议检视。 - 检视密度≥2个/100行。 - 检视缺陷密度达不到要求的需给出说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** ---- ## 4. 安全自检 **典型安全编码问题** - [ ] **若涉及对外接口,是否已校验外部数据** - [ ] **MR 标题和描述是否按格式填写** - [ ] **是否进行空指针校验** - [ ] **是否进行返回值校验** - [ ] **是否正确考虑文件权限配置** - [ ] **是否充分考虑接口的异常场景** - [ ] **是否正确记录错误日志** - [ ] **若涉及正则表达式,是否对正则表达式做 ReDos 校验** - [ ] **若涉及运算,是否存在整数溢出、除零等风险** ---- ## 5. 变更知会 - **资料修改:** - **变更通知(消息知会 + 邮件知会):** ---- ## 6. 冒烟修改 - **PR 来源:** - [ ] 问题单 - [ ] 需求特性 - [ ] 安全排查 - [ ] 其他 - [ ] **是否存在冒烟可以拦截却未拦截的情况** - [ ] **是否需要添加冒烟:** ---- See merge request: Ascend/msserviceprofiler!309 | 2 个月前 | |
【msserviceprofiler_master】服务化安装导致包权限变动问题修复 Co-authored-by: hewenbo<hewenbo16@h-partners.com> # message auto-generated for no-merge-commit merge: !396 merge master into master 【msserviceprofiler_master】服务化安装导致包权限变动问题修复 Created-by: hewenbo Commit-by: hewenbo Merged-by: ascend-robot Description: # PR 合入模板 ## 1. 修改描述 - **修改原因:【msserviceprofiler_master】服务化安装导致包权限变动问题修复 - **修改内容:【msserviceprofiler_master】服务化安装导致包权限变动问题修复 - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ## 2. 功能验证 - [ ] **功能自验** - [ ] **本地自验用例截图**(请确保不体现个人信息) - [ ] **冒烟是否通过** ---- ## 3. 代码检视 - **要求:** - 合入代码大于 200 行,需三人以上会议检视。 - 检视密度≥2个/100行。 - 检视缺陷密度达不到要求的需给出说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** ---- ## 4. 安全自检 **典型安全编码问题** - [ ] **若涉及对外接口,是否已校验外部数据** - [ ] **MR 标题和描述是否按格式填写** - [ ] **是否进行空指针校验** - [ ] **是否进行返回值校验** - [ ] **是否正确考虑文件权限配置** - [ ] **是否充分考虑接口的异常场景** - [ ] **是否正确记录错误日志** - [ ] **若涉及正则表达式,是否对正则表达式做 ReDos 校验** - [ ] **若涉及运算,是否存在整数溢出、除零等风险** ---- ## 5. 变更知会 - **资料修改:** - **变更通知(消息知会 + 邮件知会):** ---- ## 6. 冒烟修改 - **PR 来源:** - [ ] 问题单 - [ ] 需求特性 - [ ] 安全排查 - [ ] 其他 - [ ] **是否存在冒烟可以拦截却未拦截的情况** - [ ] **是否需要添加冒烟:** ---- See merge request: Ascend/msserviceprofiler!396 | 12 天前 | |
【msserviceprofiler_master】SGlang在最新镜像采集解析问题修复 Co-authored-by: hewenbo<hewenbo16@h-partners.com> # message auto-generated for no-merge-commit merge: !404 merge master into master 【msserviceprofiler_master】SGlang在最新镜像采集解析问题修复 Created-by: hewenbo Commit-by: hewenbo Merged-by: ascend-robot Description: # PR 合入模板 ## 1. 修改描述 - **修改原因:【msserviceprofiler_master】SGlang采集解析问题修复 - **修改内容:【msserviceprofiler_master】SGlang采集解析问题修复 - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ## 2. 功能验证 - [x] **功能自验** - [ ] **本地自验用例截图**(请确保不体现个人信息) - [ ] **冒烟是否通过** ---- ## 3. 代码检视 - **要求:** - 合入代码大于 200 行,需三人以上会议检视。 - 检视密度≥2个/100行。 - 检视缺陷密度达不到要求的需给出说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [x] **是否经过代码检视** - [x] **是否具备UT测试用例看护** ---- ## 4. 安全自检 **典型安全编码问题** - [x] **若涉及对外接口,是否已校验外部数据** - [x] **MR 标题和描述是否按格式填写** - [x] **是否进行空指针校验** - [x] **是否进行返回值校验** - [x] **是否正确考虑文件权限配置** - [x] **是否充分考虑接口的异常场景** - [x] **是否正确记录错误日志** - [x] **若涉及正则表达式,是否对正则表达式做 ReDos 校验** - [x] **若涉及运算,是否存在整数溢出、除零等风险** ---- ## 5. 变更知会 - **资料修改:** - **变更通知(消息知会 + 邮件知会):** ---- ## 6. 冒烟修改 - **PR 来源:** - [ ] 问题单 - [ ] 需求特性 - [ ] 安全排查 - [x] 其他 - [ ] **是否存在冒烟可以拦截却未拦截的情况** - [ ] **是否需要添加冒烟:** ---- See merge request: Ascend/msserviceprofiler!404 | 7 天前 | |
【微重构】Enhance 3rd-party Dependency Build Process: Add Conditional Fetch/Build and Refine Error Handling Co-authored-by: liujiawang<anonymousdev@163.com> # message auto-generated for no-merge-commit merge: !171 merge build into master 【微重构】Enhance 3rd-party Dependency Build Process: Add Conditional Fetch/Build and Refine Error Handling Created-by: AvadaKedavrua Commit-by: liujiawang Merged-by: ascend-robot Description: Thanks for your contribution; we appreciate it a lot. The following instructions will make your pull request healthier and help you get feedback more easily. If you do not understand some items, don't worry, just make the pull request and seek help from maintainers. **PR Type / PR类型** - [ ] Docs(文档更新) - [ ] Feature(功能新增) - [ ] Bugfix(Bug 修复) - [ ] CI/CD(持续集成/持续部署) - [x] Refactor(代码重构) - [ ] Perf(性能优化) - [ ] Test-Cases(测试用例更新) - [ ] Other(其他) ## 🔍 Motivation / 变更动机 The primary motivation for this change is to enhance the robustness, reliability, and developer experience of the CMake build process for third-party dependencies. The previous implementation had several issues: 1. It lacked conditional logic to check for the existence of already cloned or built dependencies, leading to potential errors, build failures, or redundant operations on every build. 2. The build flow for protobuf and the generation of protobuf code for opentelemetry was tightly coupled and error-prone, with insufficient error checking and unclear status messages. 3. The order of operations and dependency management between different third-party components (boundscheck, json, protobuf, googletest) could be improved for clarity and performance. The goal of this PR is to implement a more robust, idempotent, and informative build process. It should skip unnecessary downloads and builds if dependencies are already present, provide clearer build status messages, and include more comprehensive error handling. ## 📝 Modification / 修改内容 This PR modifies the 3rdparty/CMakeLists.txt and .gitignore files. 1. **.gitignore**: Added entries to ignore the local directories for downloaded third-party libraries (boundscheck/, json/, protobuf/) and the generated opentelemetry headers. This prevents these transient build artifacts from being accidentally committed. 2. **3rdparty/CMakeLists.txt**: Refactored the logic for fetching and building all third-party dependencies (boundscheck, json, protobuf, opentelemetry proto generation, and googletest). Key changes include: * **Conditional Fetch/Clone**: For each dependency (boundscheck, json, googletest), the script now checks if the source directory already exists (if(NOT EXISTS ${DIR})) before attempting to clone it via FetchContent. If it exists, a status message is logged and the download is skipped. * **Decoupled Protobuf Build**: The logic for protobuf was significantly restructured. * It first checks if the source is cloned. If not, it clones the specific tag (v3.21.9). * It then checks for the existence of the protoc compiler binary. Only if protoc is not found does it proceed to configure and build protobuf from the cloned source. This separates the "source acquisition" step from the "compilation" step. * **Improved Opentelemetry Code Generation**: The step for generating C++ code from .proto files is now explicitly named "protoc generating code". It includes a pre-check to ensure the input .proto files exist before invoking protoc. The logic no longer redundantly checks for protoc existence, as that is guaranteed by the preceding protobuf preparation step. * **Robust Error Handling**: Standardized and improved error handling for external commands (git clone, cmake configure/build, protoc). Uses local variables (e.g., _clone_result) to avoid variable name conflicts and provides detailed error messages. * **Added Initial Check**: Added a find_package(Git) check at the beginning to ensure git is available, which is required for cloning protobuf. * **Reordered Operations**: The json library preparation was moved to its own logical section for better structure, rather than being declared earlier and populated later. ## 📐 Associated Test Results / 关联测试结果 The modifications are to the build configuration (CMake) logic. Successful verification includes: * **Clean Build**: Running cmake and make in a fresh build directory succeeds, downloading and building all necessary dependencies. * **Incremental/Idempotent Build**: Running cmake and make a second time (or after dependencies are already present) shows status messages like "boundscheck already exists, skipping download", "protoc already exists..., skipping build", and "googletest already exists, skipping download". The build completes faster as it skips redundant operations. * **Error Simulation**: Manually removing the protoc binary triggers a rebuild of protobuf as expected. Providing an invalid Git URL or tag results in a clear, fatal error message. ## 🌟 Use cases (Optional) / 使用案例(可选) * **CI/CD Pipelines**: Makes CI builds more reliable and faster, especially when cache mechanisms are used. Subsequent builds on the same runner will skip the download and build steps for unchanged dependencies. * **Developer Workflow**: Developers who frequently reconfigure or rebuild the project will benefit from the time saved by skipping redundant dependency setup. * **Offline/Build Isolation**: The conditional checks make the build script more tolerant in environments where network access might be intermittent or where dependencies are pre-provisioned. ## ✅ Checklist / 检查列表 **Before PR**: - [x] [Linting tools](https://gitcode.com/Ascend/msmodeling/blob/develop/tensor_cast/README.md#coding-style) are used to fix the potential lint issues. / 使用 [lintrunner 工具](https://gitcode.com/Ascend/msmodeling/blob/develop/tensor_cast/README.md#coding-style) 来修复潜在的 lint 问题。 - [ ] Bug fixes are fully covered by unit tests, the case that causes the bug should be added in the unit tests. / 修复的 Bug 已完全由单元测试覆盖,导致 Bug 的情况应在单元测试中添加。 - [x] The modification is covered by complete unit tests. If not, please add more unit tests to ensure the correctness. / 此拉取请求中的修改已完全由单元测试覆盖。如果不是,请添加更多单元测试以确保正确性。 - [x] All relevant documentation (API docs, docstrings, example tutorials) has been updated to reflect these changes. / 所有相关文档(API 文档、文档字符串、示例教程)已更新以反映这些更改。 - [x] Please ensure code files contain no Chinese comments. / 请保证代码文件中不含中文注释。 See merge request: Ascend/msserviceprofiler!171 | 4 个月前 | |
新增【B050】LLM推理监控平台设计文档 Co-authored-by: Mad97_<chepishuai1@h-partners.com> # message auto-generated for no-merge-commit merge: !358 merge design_B050 into master 新增【B050】LLM推理监控平台设计文档 Created-by: Mad97_ Commit-by: Mad97_ Merged-by: ascend-robot Description: # PR 合入模板 ## 1. 修改描述 - **修改原因:** 新增设计文档 - **修改内容:** 新增设计文档,不涉及任何代码修改 - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ## 2. 功能验证 - [ ] **功能自验** - [ ] **本地自验用例截图**(请确保不体现个人信息) - [ ] **冒烟是否通过** ---- ## 3. 代码检视 - **要求:** - 合入代码大于 200 行,需三人以上会议检视。 - 检视密度≥2个/100行。 - 检视缺陷密度达不到要求的需给出说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** ---- ## 4. 安全自检 **典型安全编码问题** - [ ] **若涉及对外接口,是否已校验外部数据** - [ ] **MR 标题和描述是否按格式填写** - [ ] **是否进行空指针校验** - [ ] **是否进行返回值校验** - [ ] **是否正确考虑文件权限配置** - [ ] **是否充分考虑接口的异常场景** - [ ] **是否正确记录错误日志** - [ ] **若涉及正则表达式,是否对正则表达式做 ReDos 校验** - [ ] **若涉及运算,是否存在整数溢出、除零等风险** ---- ## 5. 变更知会 - **资料修改:** - **变更通知(消息知会 + 邮件知会):** ---- ## 6. 冒烟修改 - **PR 来源:** - [ ] 问题单 - [ ] 需求特性 - [ ] 安全排查 - [ ] 其他 - [ ] **是否存在冒烟可以拦截却未拦截的情况** - [ ] **是否需要添加冒烟:** ---- See merge request: Ascend/msserviceprofiler!358 | 1 个月前 | |
【资料】【readthedocs】将文档同步至readthedocs平台 Co-authored-by: ChenHuiwen<chenhuiwen7@huawei.com> # message auto-generated for no-merge-commit merge: !220 merge read-dox into master 【资料】【readthedocs】将文档同步至readthedocs平台 Created-by: ChenHuiwen Commit-by: ChenHuiwen Merged-by: ascend-robot Description: ### 1. 修改描述 - **修改原因:** **【资料】【readthedocs】将文档同步至readthedocs平台** - **修改内容:** 1. 增加readthedocs配置文件 2. 修改不规范的readme文档 - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ### 2. 功能验证 - [ ] **功能自验** https://msserviceprofiler.readthedocs.io/zh-cn/latest/ - [x] **本地自验用例截图**(请确保不体现个人信息) - [ ] **冒烟是否通过** ---- ### 3. 代码检视 - **要求:** - 合入代码大于 200 行,需三人以上会议检视。 - 检视密度≥2个/100行。 - 检视缺陷密度达不到要求的需给出说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [x] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** ---- ### 4. 安全自检 **典型安全编码问题** - [x] **若涉及对外接口,是否已校验外部数据** - [x] **MR 标题和描述是否按格式填写** - [x] **是否进行空指针校验** - [x] **是否进行返回值校验** - [x] **是否正确考虑文件权限配置** - [x] **是否充分考虑接口的异常场景** - [x] **是否正确记录错误日志** - [x] **若涉及正则表达式,是否对正则表达式做 ReDos 校验** - [x] **若涉及运算,是否存在整数溢出、除零等风险** ---- ### 5. 变更知会 - **资料修改:** - **变更通知(消息知会 + 邮件知会):** ---- ### 6. 冒烟修改 - **PR 来源:** - [ ] 问题单 - [ ] 需求特性 - [ ] 安全排查 - [x] 其他 - [ ] **是否存在冒烟可以拦截却未拦截的情况** - [ ] **是否需要添加冒烟:** ---- See merge request: Ascend/msserviceprofiler!220 | 3 个月前 | |
【构建配置】增加Python包冲突检查,防止ms_service_profiler与旧包msserviceprofiler冲突 Co-authored-by: AvadaKedavrua<anonymousdev@163.com> # message auto-generated for no-merge-commit merge: !55 merge feat into master 【构建配置】增加Python包冲突检查,防止ms_service_profiler与旧包msserviceprofiler冲突 Created-by: AvadaKedavrua Commit-by: AvadaKedavrua Merged-by: ascend-robot Description: ### 1. 修改描述 - **修改原因:** 为了解决新旧包名冲突问题。项目中引入了新的Python包 ms_service_profiler,但该包名可能与旧版本的包 msserviceprofiler 存在冲突。两者包名过于相似,在安装和使用时可能导致混淆、依赖解析错误或运行期模块导入失败。为确保新包能正确安装和运行,需要在构建阶段(CMake配置阶段)主动检查并阻止在已安装旧包的环境中进行构建。 - **修改内容:** 在顶层 CMakeLists.txt 文件中增加了对冲突Python包的预检查逻辑: 1. 在CMake配置阶段,通过 find_package 定位到当前环境的Python3解释器。 2. 使用该Python解释器执行一个简短的脚本,尝试导入可能存在冲突的旧包 msserviceprofiler。 3. 根据导入结果 (CHECK_RESULT) 采取不同行动: - 如果导入成功(返回码为0),说明旧包已存在,CMake配置将**立即失败** (FATAL_ERROR),并给出明确的卸载指引。 - 如果导入失败(返回码非0),则仅输出一个**警告信息** (WARNING),提示用户注意潜在的包冲突风险,特别是在多Python环境或虚拟环境中。 - [ ] **涉及代码双合** (贴上另一个PR链接): (不涉及) --- ### 2. 功能验证 - [x] **功能自验**  - [ ] **本地自验用例截图**(请确保不体现个人信息) (可通过CMake终端输出截图展示成功阻止构建和仅告警通过两种场景) - [ ] **冒烟是否通过** (需在CI流水线运行后确认) --- ### 3. 代码检视 - **要求:** - 合入代码大于 200 行,需三人以上会议检视。(**本次修改行数远小于200行,不适用**) - 检视密度≥2个/100行。 - 检视缺陷密度达不到要求的需给出说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。(**本次修改行数远小于1000行,不适用**) - [ ] **是否经过代码检视** (是,已邀请相关开发人员检视) - [ ] **是否具备UT测试用例看护** (本次修改位于构建配置层(CMake),不涉及运行时业务代码,因此不添加UT。其正确性由构建流程本身验证。) --- ### 4. 安全自检 **典型安全编码问题** - [ ] **若涉及对外接口,是否已校验外部数据** (不涉及对外接口) - [x] **MR 标题和描述是否按格式填写** (是,当前PR描述即按模板填写) - [ ] **是否进行空指针校验** (不涉及指针操作,CMake脚本中变量已由 execute_process 填充) - [ ] **是否进行返回值校验** (是,检查了 execute_process 命令的 RESULT_VARIABLE) - [ ] **是否正确考虑文件权限配置** (不涉及文件创建或修改) - [ ] **是否充分考虑接口的异常场景** (是,处理了旧包存在和不存在两种场景,并给出明确引导) - [ ] **是否正确记录错误日志** (是,通过CMake的 message(FATAL_ERROR, ...) 和 message(WARNING, ...) 记录) - [ ] **若涉及正则表达式,是否对正则表达式做 ReDos 校验** (不涉及正则表达式) - [ ] **若涉及运算,是否存在整数溢出、除零等风险** (不涉及数值运算) --- ### 5. 变更知会 - **资料修改:** 暂无。但建议在项目的README或安装说明中增加关于此包冲突检查的说明。 - **变更通知(消息知会 + 邮件知会):** 需要知会所有可能使用或构建本项目的开发人员,告知在构建前需确保环境中未安装冲突的旧包 msserviceprofiler。 --- ### 6. 冒烟修改 - **PR 来源:** - [ ] 问题单 - [ ] 需求特性 - [x] 安全排查(**归类于此,解决潜在的包冲突和安装失败风险**) - [ ] 其他 - [ ] **是否存在冒烟可以拦截却未拦截的情况** (无。本次修改本身就是一个前置的、强化的冒烟检查,在构建阶段拦截不兼容的环境。) - [ ] **是否需要添加冒烟:** (不需要。本次修改已实现在CMake配置阶段的预检查,可视为构建流程的一部分。) --- See merge request: Ascend/msserviceprofiler!55 | 5 个月前 | |
docs: 资料风格统一 Co-authored-by: cai-weiwei1989<734267852@qq.com> # message auto-generated for no-merge-commit merge: !300 merge master into master docs: 资料风格统一 Created-by: cai-weiwei1989 Commit-by: cai-weiwei1989 Merged-by: ascend-robot Description: ### 1. 修改描述 - **修改原因:** - **修改内容:** 同步PR:https://gitcode.com/Ascend/msserviceprofiler/pull/294 - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ### 2. 功能验证 - [ ] **功能自验** - [ ] **本地自验用例截图**(请确保不体现个人信息) - [ ] **冒烟是否通过** ---- ### 3. 代码检视 - **要求:** - 合入代码大于 200 行,需三人以上会议检视。 - 检视密度≥2个/100行。 - 检视缺陷密度达不到要求的需给出说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** ---- ### 4. 安全自检 **典型安全编码问题** - [ ] **若涉及对外接口,是否已校验外部数据** - [ ] **MR 标题和描述是否按格式填写** - [ ] **是否进行空指针校验** - [ ] **是否进行返回值校验** - [ ] **是否正确考虑文件权限配置** - [ ] **是否充分考虑接口的异常场景** - [ ] **是否正确记录错误日志** - [ ] **若涉及正则表达式,是否对正则表达式做 ReDos 校验** - [ ] **若涉及运算,是否存在整数溢出、除零等风险** ---- ### 5. 变更知会 - **资料修改:** - **变更通知(消息知会 + 邮件知会):** ---- ### 6. 冒烟修改 - **PR 来源:** - [ ] 问题单 - [ ] 需求特性 - [ ] 安全排查 - [ ] 其他 - [ ] **是否存在冒烟可以拦截却未拦截的情况** - [ ] **是否需要添加冒烟:** ---- See merge request: Ascend/msserviceprofiler!300 | 2 个月前 | |
init master Co-authored-by: msserviceprofilerDeveloper<msserviceprofilerDeveloper> # message auto-generated for no-merge-commit merge: !13 merge out into master init master Created-by: jiangruitao Commit-by: jiangruitao;eveyin1;tt0cool;ascend-robot;xzm123;AvadaKedavrua;minghang_c;ChenHuiwen;jiangruitao 00800418;msserviceprofilerDeveloper Merged-by: ascend-robot Description: init master See merge request: Ascend/msserviceprofiler!13 | 6 个月前 | |
【ms-service-metircs】【docs】Grafana+promethus 免责说明 Co-authored-by: Mad97_<chepishuai1@h-partners.com> # message auto-generated for no-merge-commit merge: !340 merge B050_PART4_clean into master 【ms-service-metircs】【docs】Grafana+promethus 免责说明 Created-by: Mad97_ Commit-by: Mad97_ Merged-by: ascend-robot Description: # PR 合入模板 ## 1. 修改描述 - **修改原因:** 由于Grafana+Prometheus的可视化方案均为外部开源软件,非本产品发布包含的产品包形态 故需进行说明,避免用户产生误解 - **修改内容:** 修改涉及到Grafana+Promethus的全部文档 - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ## 2. 功能验证 - [ ] **功能自验** - [ ] **本地自验用例截图**(请确保不体现个人信息) - [ ] **冒烟是否通过** ---- ## 3. 代码检视 - **要求:** - 合入代码大于 200 行,需三人以上会议检视。 - 检视密度≥2个/100行。 - 检视缺陷密度达不到要求的需给出说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** ---- ## 4. 安全自检 **典型安全编码问题** - [ ] **若涉及对外接口,是否已校验外部数据** - [ ] **MR 标题和描述是否按格式填写** - [ ] **是否进行空指针校验** - [ ] **是否进行返回值校验** - [ ] **是否正确考虑文件权限配置** - [ ] **是否充分考虑接口的异常场景** - [ ] **是否正确记录错误日志** - [ ] **若涉及正则表达式,是否对正则表达式做 ReDos 校验** - [ ] **若涉及运算,是否存在整数溢出、除零等风险** ---- ## 5. 变更知会 - **资料修改:** - **变更通知(消息知会 + 邮件知会):** ---- ## 6. 冒烟修改 - **PR 来源:** - [ ] 问题单 - [ ] 需求特性 - [ ] 安全排查 - [ ] 其他 - [ ] **是否存在冒烟可以拦截却未拦截的情况** - [ ] **是否需要添加冒烟:** ---- See merge request: Ascend/msserviceprofiler!340 | 1 个月前 | |
【master】【docs】:大模型检查低错修改;doctools检查问题清零 Co-authored-by: zzm30<zhengzhimin1@h-partners.com> # message auto-generated for no-merge-commit merge: !401 merge master into master 【master】【docs】:大模型检查低错修改;doctools检查问题清零 Created-by: zzm30 Commit-by: zzm30 Merged-by: ascend-robot Description: # PR 合入模板 ## 1. 修改描述 1. 大模型检查低错修改; 2. doctools检查问题清零。 See merge request: Ascend/msserviceprofiler!401 | 5 天前 | |
【重构】重构ms_service_profiler_ext模块 Co-authored-by: jiangruitao<jiangruitao@huawei.com> # message auto-generated for no-merge-commit merge: !234 merge 0321 into master 【重构】重构ms_service_profiler_ext模块 Created-by: jiangruitao Commit-by: jiangruitao Merged-by: ascend-robot Description: --- ## 修改描述 - **修改原因:** - 简化模块结构,消除 ms_service_profiler_ext 嵌套层级 - 将 ms_service_profiler_ext 模块内容提升至 ms_service_profiler 根目录,减少导入路径长度 - 统一公共工具模块位置,将 common/ 迁移至 utils/ - **修改内容:** 1. **模块迁移(14个文件重命名+迁移):** - ms_service_profiler_ext/analyze.py → ms_service_profiler/analyze.py - ms_service_profiler_ext/compare.py → ms_service_profiler/compare.py - ms_service_profiler_ext/split.py → ms_service_profiler/split.py - ms_service_profiler_ext/exporters/ → ms_service_profiler/exporters/ - exporter_decode.py, exporter_prefill.py, exporter_summary.py - ms_service_profiler_ext/split_processor/ → ms_service_profiler/processor/ - mindie_processor.py → mindie_split_processor.py - base_processor.py → split_base_processor.py - vllm_processor.py → vllm_split_processor.py - ms_service_profiler_ext/common/ → ms_service_profiler/utils/ - csv_fields.py, sec.py → ext_sec.py, utils.py → ext_utils.py, split_utils.py 2. **常量合并:** - 将 ms_service_profiler_ext/common/constants.py 中的 MAX_BATCH_NUMBER, US_PER_MS 迁移至 ms_service_profiler/utils/constants.py - 删除冗余的 constants.py 文件 3. **导入路径更新(34个文件):** - 更新所有 from ms_service_profiler.ms_service_profiler_ext.xxx 为 from ms_service_profiler.xxx - 更新所有内部引用路径 4. **文档更新:** - docs/zh/dir_structure.md - 更新目录结构说明 - docs/zh/developer_guide/development_guide.md - 更新入口点示例 - pyproject.toml - 更新 entry-points 配置 5. **测试更新(15个测试文件):** - 更新所有测试文件的导入路径 - 更新 mock 路径 - [ ] **涉及代码双合**(贴上另一个PR链接):无 ---- ### 2. 功能验证 - [x] **功能自验** - [ ] **本地自验用例截图**(请确保不体现个人信息) - [x] **冒烟是否通过** ---- ### 3. 代码检视 - **要求:** - 合入代码大于 200 行,需三人以上会议检视。 - 检视密度≥2个/100行。 - 检视缺陷密度达不到要求的需给出说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [x] **是否经过代码检视** - [x] **是否具备UT测试用例看护** ✓ 已更新15个测试文件的导入路径 ---- ### 4. 安全自检 **典型安全编码问题** - [ ] **若涉及对外接口,是否已校验外部数据** - [x] **MR 标题和描述是否按格式填写** - [ ] **是否进行空指针校验** - [ ] **是否进行返回值校验** - [ ] **是否正确考虑文件权限配置** - [ ] **是否充分考虑接口的异常场景** - [ ] **是否正确记录错误日志** - [ ] **若涉及正则表达式,是否对正则表达式做 ReDos 校验** - [ ] **若涉及运算,是否存在整数溢出、除零等风险** ✓ 本次为纯重构,未引入新逻辑 ---- ### 5. 变更知会 - **资料修改:** - docs/zh/dir_structure.md - 目录结构调整 - docs/zh/developer_guide/development_guide.md - 开发指南中的示例更新 - **变更通知(消息知会 + 邮件知会):** ---- ### 6. 冒烟修改 - **PR 来源:** - [ ] 问题单 - [ ] 需求特性 - [ ] 安全排查 - [x] 其他(代码结构优化/重构) - [ ] **是否存在冒烟可以拦截却未拦截的情况** - [ ] **是否需要添加冒烟:** ---- See merge request: Ascend/msserviceprofiler!234 | 3 个月前 | |
[feature]:新构建方案适配,统一构建入口,提升易用性 Co-authored-by: mengguangxin<mgx0018@163.com> # message auto-generated for no-merge-commit merge: !384 merge build_618 into master [feature]:新构建方案适配,统一构建入口,提升易用性 Created-by: mengguangxin Commit-by: mengguangxin Merged-by: ascend-robot Description: # PR 合入模板 ## 1. 修改描述 - **修改原因:** 适配统一新构建镜像和构建工程 - **修改内容:** 统一入口脚本,统一输出路径,修改对功能无影响 - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ## 2. 功能验证 - [ ] **功能自验** - [ ] **本地自验用例截图**(请确保不体现个人信息) - [ ] **冒烟是否通过** ---- ## 3. 代码检视 - **要求:** - 合入代码大于 200 行,需三人以上会议检视。 - 检视密度≥2个/100行。 - 检视缺陷密度达不到要求的需给出说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** ---- ## 4. 安全自检 **典型安全编码问题** - [ ] **若涉及对外接口,是否已校验外部数据** - [ ] **MR 标题和描述是否按格式填写** - [ ] **是否进行空指针校验** - [ ] **是否进行返回值校验** - [ ] **是否正确考虑文件权限配置** - [ ] **是否充分考虑接口的异常场景** - [ ] **是否正确记录错误日志** - [ ] **若涉及正则表达式,是否对正则表达式做 ReDos 校验** - [ ] **若涉及运算,是否存在整数溢出、除零等风险** ---- ## 5. 变更知会 - **资料修改:** - **变更通知(消息知会 + 邮件知会):** ---- ## 6. 冒烟修改 - **PR 来源:** - [ ] 问题单 - [ ] 需求特性 - [ ] 安全排查 - [ ] 其他 - [ ] **是否存在冒烟可以拦截却未拦截的情况** - [ ] **是否需要添加冒烟:** ---- See merge request: Ascend/msserviceprofiler!384 | 19 天前 | |
新增【B050】LLM推理监控平台设计文档 Co-authored-by: Mad97_<chepishuai1@h-partners.com> # message auto-generated for no-merge-commit merge: !358 merge design_B050 into master 新增【B050】LLM推理监控平台设计文档 Created-by: Mad97_ Commit-by: Mad97_ Merged-by: ascend-robot Description: # PR 合入模板 ## 1. 修改描述 - **修改原因:** 新增设计文档 - **修改内容:** 新增设计文档,不涉及任何代码修改 - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ## 2. 功能验证 - [ ] **功能自验** - [ ] **本地自验用例截图**(请确保不体现个人信息) - [ ] **冒烟是否通过** ---- ## 3. 代码检视 - **要求:** - 合入代码大于 200 行,需三人以上会议检视。 - 检视密度≥2个/100行。 - 检视缺陷密度达不到要求的需给出说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** ---- ## 4. 安全自检 **典型安全编码问题** - [ ] **若涉及对外接口,是否已校验外部数据** - [ ] **MR 标题和描述是否按格式填写** - [ ] **是否进行空指针校验** - [ ] **是否进行返回值校验** - [ ] **是否正确考虑文件权限配置** - [ ] **是否充分考虑接口的异常场景** - [ ] **是否正确记录错误日志** - [ ] **若涉及正则表达式,是否对正则表达式做 ReDos 校验** - [ ] **若涉及运算,是否存在整数溢出、除零等风险** ---- ## 5. 变更知会 - **资料修改:** - **变更通知(消息知会 + 邮件知会):** ---- ## 6. 冒烟修改 - **PR 来源:** - [ ] 问题单 - [ ] 需求特性 - [ ] 安全排查 - [ ] 其他 - [ ] **是否存在冒烟可以拦截却未拦截的情况** - [ ] **是否需要添加冒烟:** ---- See merge request: Ascend/msserviceprofiler!358 | 1 个月前 | |
【msserviceprofiler_master】资料+run包--check完善 Co-authored-by: hewenbo<hewenbo16@h-partners.com> # message auto-generated for no-merge-commit merge: !328 merge master into master 【msserviceprofiler_master】资料+run包--check完善 Created-by: hewenbo Commit-by: hewenbo Merged-by: ascend-robot Description: # PR 合入模板 ## 1. 修改描述 - **修改原因:** - **修改内容:** - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ## 2. 功能验证 - [ ] **功能自验** - [ ] **本地自验用例截图**(请确保不体现个人信息) - [ ] **冒烟是否通过** ---- ## 3. 代码检视 - **要求:** - 合入代码大于 200 行,需三人以上会议检视。 - 检视密度≥2个/100行。 - 检视缺陷密度达不到要求的需给出说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** ---- ## 4. 安全自检 **典型安全编码问题** - [ ] **若涉及对外接口,是否已校验外部数据** - [ ] **MR 标题和描述是否按格式填写** - [ ] **是否进行空指针校验** - [ ] **是否进行返回值校验** - [ ] **是否正确考虑文件权限配置** - [ ] **是否充分考虑接口的异常场景** - [ ] **是否正确记录错误日志** - [ ] **若涉及正则表达式,是否对正则表达式做 ReDos 校验** - [ ] **若涉及运算,是否存在整数溢出、除零等风险** ---- ## 5. 变更知会 - **资料修改:** - **变更通知(消息知会 + 邮件知会):** ---- ## 6. 冒烟修改 - **PR 来源:** - [ ] 问题单 - [ ] 需求特性 - [ ] 安全排查 - [ ] 其他 - [ ] **是否存在冒烟可以拦截却未拦截的情况** - [ ] **是否需要添加冒烟:** ---- See merge request: Ascend/msserviceprofiler!328 | 2 个月前 | |
【msserviceprofiler_master】资料+run包--check完善 Co-authored-by: hewenbo<hewenbo16@h-partners.com> # message auto-generated for no-merge-commit merge: !328 merge master into master 【msserviceprofiler_master】资料+run包--check完善 Created-by: hewenbo Commit-by: hewenbo Merged-by: ascend-robot Description: # PR 合入模板 ## 1. 修改描述 - **修改原因:** - **修改内容:** - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ## 2. 功能验证 - [ ] **功能自验** - [ ] **本地自验用例截图**(请确保不体现个人信息) - [ ] **冒烟是否通过** ---- ## 3. 代码检视 - **要求:** - 合入代码大于 200 行,需三人以上会议检视。 - 检视密度≥2个/100行。 - 检视缺陷密度达不到要求的需给出说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** ---- ## 4. 安全自检 **典型安全编码问题** - [ ] **若涉及对外接口,是否已校验外部数据** - [ ] **MR 标题和描述是否按格式填写** - [ ] **是否进行空指针校验** - [ ] **是否进行返回值校验** - [ ] **是否正确考虑文件权限配置** - [ ] **是否充分考虑接口的异常场景** - [ ] **是否正确记录错误日志** - [ ] **若涉及正则表达式,是否对正则表达式做 ReDos 校验** - [ ] **若涉及运算,是否存在整数溢出、除零等风险** ---- ## 5. 变更知会 - **资料修改:** - **变更通知(消息知会 + 邮件知会):** ---- ## 6. 冒烟修改 - **PR 来源:** - [ ] 问题单 - [ ] 需求特性 - [ ] 安全排查 - [ ] 其他 - [ ] **是否存在冒烟可以拦截却未拦截的情况** - [ ] **是否需要添加冒烟:** ---- See merge request: Ascend/msserviceprofiler!328 | 2 个月前 | |
【ms-service-metric】【ST】监控大盘冒烟框架首次搭建 Co-authored-by: Mad97_<chepishuai1@h-partners.com> # message auto-generated for no-merge-commit merge: !373 merge metric_st into master 【ms-service-metric】【ST】监控大盘冒烟框架首次搭建 Created-by: Mad97_ Commit-by: Mad97_ Merged-by: ascend-robot Description: # PR 合入模板 ## 1. 修改描述 - **修改原因:** ms-service-metric 当前缺少 vLLM 场景级 ST 冒烟能力,无法快速验证 vllm-ascend 不同版本下 hook 加载、metric 开关、推理请求和 /metrics 暴露链路是否正常;同时后续 EPLB/DPLB/异常场景需要可扩展的场景框架承载。 - **修改内容:** - 新增 Metric ST 统一入口 run_metric_st.py,默认执行 basic 场景。 - 新增 test/st/python/metric 场景框架: - metric_runner.py:统一处理安装 ms-service-metric、启动 vLLM、执行 ms_service_metric restart、发送请求、抓取 /metrics、保存 artifacts。 - metric_scenarios.py:按 basic/eplb/dplb/exception 注册场景,隔离启动参数、preflight 和指标契约。 - metric_assertions.py:提供通用 Prometheus 文本解析和指标断言能力。 - metric_smoke_utils.py:提供模型、NPU、端口、Prometheus 目录、metric 安装等前置检查。 - 新增 pytest 用例 test_metric_vllm_basic.py,支持通过 --metric-scenario 选择场景。 - 新增 EPLB 启动适配: - 设置 DYNAMIC_EPLB=true - 自动按设备数设置 --tensor-parallel-size - 开启 --enable-expert-parallel - 通过 --additional-config 注入 eplb_config - 启动日志需确认 Dynamic EPLB is True - 新增 artifacts 输出: - preflight.log - metric_install.json - service.log - request.log - metrics.raw - assertion_report.json - 增加 test/ut/python/test_metric_st_framework.py,覆盖 metric parser、断言规则、场景参数生成等基础逻辑。 - 增加 test/st/python/metric/README.md,说明基础和专项场景执行方式。 - [ ] **涉及代码双合**(贴上另一个PR链接): 暂无。 ---- ## 2. 功能验证 - [ ] **功能自验**  - [ ] **本地自验用例截图**(请确保不体现个人信息) - [ ] **冒烟是否通过** ---- ## 3. 代码检视 - **要求:** - 合入代码大于 200 行,需三人以上会议检视。 - 检视密度≥2个/100行。 - 检视缺陷密度达不到要求的需给出说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** 待组织检视。本次变更超过 200 行,建议按要求进行三人以上会议检视。 - [x] **是否具备UT测试用例看护** 新增 test/ut/python/test_metric_st_framework.py,覆盖 metric 文本解析、断言规则、场景注册和参数生成等框架逻辑。 ---- ## 4. 安全自检 **典型安全编码问题** - [x] **若涉及对外接口,是否已校验外部数据** CLI 参数增加 choices、请求次数校验、场景名校验;模型路径、NPU、端口、metric source 均有前置检查。 - [x] **MR 标题和描述是否按格式填写** 已按模板填写。 - [x] **是否进行空指针校验** Python 代码中对可选参数、缺失配置文件、缺失模块、缺失命令等情况进行了分支处理。 - [x] **是否进行返回值校验** 对 git/pip/vllm help/ms_service_metric restart/curl 等命令返回值进行了检查。 - [x] **是否正确考虑文件权限配置** Prometheus multiproc 目录创建后会进行写入探测;artifacts 写入固定在 workspace 下。 - [x] **是否充分考虑接口的异常场景** 覆盖模型不存在、NPU 不可用、NPU 占用过高、端口冲突、metric 安装失败、vLLM 启动失败、指标缺失等异常。 - [x] **是否正确记录错误日志** 失败时保留 preflight、service、request、metrics 和 assertion report。 - [x] **若涉及正则表达式,是否对正则表达式做 ReDos 校验** Prometheus sample 解析正则仅面向单行文本,不包含高风险嵌套回溯结构。 - [x] **若涉及运算,是否存在整数溢出、除零等风险** 仅涉及端口、设备数、请求次数等简单整数处理;请求次数已校验 >= 1。 ---- ## 5. 变更知会 - **资料修改:** 新增 test/st/python/metric/README.md,说明 Metric ST 执行方式和场景选择方式。 - **变更通知(消息知会 + 邮件知会):** 待 PR 提交后按团队流程知会。 ---- ## 6. 冒烟修改 - **PR 来源:** - [ ] 问题单 - [x] 需求特性 - [ ] 安全排查 - [ ] 其他 - [ ] **是否存在冒烟可以拦截却未拦截的情况** 当前 PR 目标是补齐 ms-service-metric 的基础 ST 框架,历史上缺少对应冒烟拦截能力。 - [x] **是否需要添加冒烟:** 是。本 PR 新增 Metric ST 基础框架和 basic/eplb/dplb/exception 场景入口;本次先合入框架和基础校验,后续 PR 继续扩展 EPLB/DPLB/异常场景的字段覆盖。 See merge request: Ascend/msserviceprofiler!373 | 1 个月前 |
MindStudio Service Profiler
📢 最新消息
- [2026.03.24] 支持 Prometheus 在线监测。
- [2025.12.30] 支持Torch Profiler数据采集与解析。
- [2025.11.30] 对接 OpenTelemetry 生态,支持全链路 Trace 追踪。
- [2025.11.24] 支持 vLLM 框架的无侵入自动插桩采集。
- [2025.11.07] 发布自动寻优插件化模式。
📌 简介
MindStudio Service Profiler 是一款专为大模型推理服务设计的全栈性能分析与调优工具。它通过无侵入式采集、高性能数据持久化及多维关联分析,帮助用户深入洞察推理框架(如 MindIE, vLLM, SGLang)在昇腾硬件上的运行表现,精准定位性能瓶颈。
🔍 目录结构
关键目录如下,详细目录介绍参见项目目录。
├─docs # 文档目录
├─include # 采集能力对外接口目录
├─ms_service_profiler # 基础能力目录(解析、数据比对等),python源码主目录
│ ├─tracer/ # Trace数据监测能力目录
│ ├─patcher/ # vLLM、SGLang服务化调优能力目录
├─msservice_advisor/ # 专家建议工具目录
├─ms_serviceparam_optimizer/ # 自动寻优工具目录
├─ms_service_metric/ # 在线监测工具目录
└── cpp # 基础能力目录(采集),C++源码主目录
└─test # 测试目录
工具安装
安装msServiceProfiler工具,详情请参见《msServiceProfiler工具安装指南》。
🚀 快速入门
msServiceProfiler服务化调优工具的快速入门,包括必要的操作步骤、参数说明等,具体请参见快速入门。
📖 功能介绍
面向不同使用场景,建议按照以下顺序快速体验本工具:
-
服务化性能调优:详细理解服务化调优数据格式、可视化分析方式及典型调优流程,参见服务化调优工具。
-
vLLM / SGLang 场景专项采集:如只关注某一框架,可直接参考对应服务化性能采集工具使用指南:
-
Trace 数据链路监测(MindIE 场景):需要将服务端请求链路打通到 Jaeger 等 OTLP 生态时,参见Trace数据监测工具。
-
Prometheus 在线监测(vLLM 场景):如需在 vLLM-Ascend 上结合 Prometheus 做在线监控,参见vLLM 服务化 Prometheus 数据监测工具使用指南。Prometheus、Grafana 为第三方开源软件,不属于 MindStudio 产品发布包的组成部分,用户可根据实际环境选择其他兼容的监控、可视化方案;如使用 Prometheus,请使用安全版本并完成必要的安全加固。
-
采集数据的比对与多维分析:对不同版本/配置的性能结果做对比或从多维度深入分析时,参见:
-
自动寻优与专家建议(进阶能力):在已有采集数据基础上进行参数自动寻优或获取专家建议时,参见:
📝 相关说明
💬 建议与交流
欢迎大家为社区做贡献。如果有任何疑问或建议,请提交Issues,我们会尽快回复。感谢您的支持。
| 📱 关注 MindStudio 公众号 | 💬 更多交流与支持 |
|---|---|
![]() 扫码关注获取最新动态 |
💡 加入微信交流群: 关注公众号,回复“交流群”即可获取入群二维码。 🛠️ 其他渠道: 👉 昇腾助手: 👉 昇腾论坛: |
🤝 致谢
msServiceProfiler由华为公司的下列部门联合贡献:
- 昇腾计算MindStudio开发部
感谢来自社区的每一个PR,欢迎贡献msServiceProfiler!
关于MindStudio团队
华为MindStudio全流程开发工具链团队致力于提供端到端的昇腾AI应用开发解决方案,使能开发者高效完成训练开发、更多信息请访问 昇腾社区 和 昇腾论坛。
