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 | 4 个月前 | |
【msserviceprofiler】protobuf更新 Co-authored-by: hewenbo<hewenbo16@h-partners.com> # message auto-generated for no-merge-commit merge: !251 merge master into master 【msserviceprofiler】protobuf更新 Created-by: hewenbo Commit-by: hewenbo Merged-by: ascend-robot Description: ### 1. 修改描述 - **修改原因:【msserviceprofiler】protobuf更新 - **修改内容:【msserviceprofiler】protobuf更新 - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ### 2. 功能验证 - [ ] **功能自验** - [ ] **本地自验用例截图**(请确保不体现个人信息) - [ ] **冒烟是否通过** ---- ### 3. 代码检视 - **要求:** - 合入代码大于 200 行,需三人以上会议检视。 - 检视密度≥2个/100行。 - 检视缺陷密度达不到要求的需给出说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** ---- ### 4. 安全自检 **典型安全编码问题** - [ ] **若涉及对外接口,是否已校验外部数据** - [ ] **MR 标题和描述是否按格式填写** - [ ] **是否进行空指针校验** - [ ] **是否进行返回值校验** - [ ] **是否正确考虑文件权限配置** - [ ] **是否充分考虑接口的异常场景** - [ ] **是否正确记录错误日志** - [ ] **若涉及正则表达式,是否对正则表达式做 ReDos 校验** - [ ] **若涉及运算,是否存在整数溢出、除零等风险** ---- ### 5. 变更知会 - **资料修改:** - **变更通知(消息知会 + 邮件知会):** ---- ### 6. 冒烟修改 - **PR 来源:** - [ ] 问题单 - [ ] 需求特性 - [ ] 安全排查 - [ ] 其他 - [ ] **是否存在冒烟可以拦截却未拦截的情况** - [ ] **是否需要添加冒烟:** ---- See merge request: Ascend/msserviceprofiler!251 | 5 个月前 | |
【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 | 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 | 3 个月前 | |
【feature】【B050】新增时延监控指标 Co-authored-by: Mad97_<chepishuai1@h-partners.com> # message auto-generated for no-merge-commit merge: !353 merge B050_PART2_CLEAN into master 【feature】【B050】新增时延监控指标 Created-by: Mad97_ Commit-by: Mad97_ Merged-by: ascend-robot Description: # PR 合入模板 ## 1. 修改描述 - **修改原因:** 新增时延监控指标 - **修改内容:** metrics新增条目 - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ## 2. 功能验证 - [ ] **功能自验**       draft_token  sample   cpu   - [ ] **本地自验用例截图**(请确保不体现个人信息) - [ ] **冒烟是否通过** ---- ## 3. 代码检视 - **要求:** - 合入代码大于 200 行,需三人以上会议检视。 - 检视密度≥2个/100行。 - 检视缺陷密度达不到要求的需给出说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** ---- ## 4. 安全自检 **典型安全编码问题** - [ ] **若涉及对外接口,是否已校验外部数据** - [ ] **MR 标题和描述是否按格式填写** - [ ] **是否进行空指针校验** - [ ] **是否进行返回值校验** - [ ] **是否正确考虑文件权限配置** - [ ] **是否充分考虑接口的异常场景** - [ ] **是否正确记录错误日志** - [ ] **若涉及正则表达式,是否对正则表达式做 ReDos 校验** - [ ] **若涉及运算,是否存在整数溢出、除零等风险** ---- ## 5. 变更知会 - **资料修改:** - **变更通知(消息知会 + 邮件知会):** ---- ## 6. 冒烟修改 - **PR 来源:** - [ ] 问题单 - [ ] 需求特性 - [ ] 安全排查 - [ ] 其他 - [ ] **是否存在冒烟可以拦截却未拦截的情况** - [ ] **是否需要添加冒烟:** ---- See merge request: Ascend/msserviceprofiler!353 | 3 个月前 | |
【msserviceprofiler_master】当profiling数据为空时,优化日志打印 Co-authored-by: hewenbo<hewenbo16@h-partners.com> # message auto-generated for no-merge-commit merge: !352 merge master into master 【msserviceprofiler_master】当profiling数据为空时,优化日志打印 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!352 | 3 个月前 | |
实现三元关系限制 Co-authored-by: tt0cool<xujintao8@h-partners.com> # message auto-generated for no-merge-commit merge: !347 merge master into master 实现三元关系限制 Created-by: tt0cool Commit-by: tt0cool 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!347 | 3 个月前 | |
【安全】【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 | 5 个月前 | |
【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 | 4 个月前 | |
补充详设 Co-authored-by: gitcode-bot<noreply@gitcode.com> Co-authored-by: tt0cool<xujintao8@h-partners.com> # message auto-generated for no-merge-commit merge: !348 merge master into master 补充详设 Created-by: tt0cool Commit-by: tt0cool;gitcode-bot 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!348 | 3 个月前 | |
【feature】【B050】新增时延监控指标 Co-authored-by: Mad97_<chepishuai1@h-partners.com> # message auto-generated for no-merge-commit merge: !353 merge B050_PART2_CLEAN into master 【feature】【B050】新增时延监控指标 Created-by: Mad97_ Commit-by: Mad97_ Merged-by: ascend-robot Description: # PR 合入模板 ## 1. 修改描述 - **修改原因:** 新增时延监控指标 - **修改内容:** metrics新增条目 - [ ] **涉及代码双合**(贴上另一个PR链接): ---- ## 2. 功能验证 - [ ] **功能自验**       draft_token  sample   cpu   - [ ] **本地自验用例截图**(请确保不体现个人信息) - [ ] **冒烟是否通过** ---- ## 3. 代码检视 - **要求:** - 合入代码大于 200 行,需三人以上会议检视。 - 检视密度≥2个/100行。 - 检视缺陷密度达不到要求的需给出说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备UT测试用例看护** ---- ## 4. 安全自检 **典型安全编码问题** - [ ] **若涉及对外接口,是否已校验外部数据** - [ ] **MR 标题和描述是否按格式填写** - [ ] **是否进行空指针校验** - [ ] **是否进行返回值校验** - [ ] **是否正确考虑文件权限配置** - [ ] **是否充分考虑接口的异常场景** - [ ] **是否正确记录错误日志** - [ ] **若涉及正则表达式,是否对正则表达式做 ReDos 校验** - [ ] **若涉及运算,是否存在整数溢出、除零等风险** ---- ## 5. 变更知会 - **资料修改:** - **变更通知(消息知会 + 邮件知会):** ---- ## 6. 冒烟修改 - **PR 来源:** - [ ] 问题单 - [ ] 需求特性 - [ ] 安全排查 - [ ] 其他 - [ ] **是否存在冒烟可以拦截却未拦截的情况** - [ ] **是否需要添加冒烟:** ---- See merge request: Ascend/msserviceprofiler!353 | 3 个月前 | |
【微重构】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 | 5 个月前 | |
新增【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 | 3 个月前 | |
【资料】【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 | 5 个月前 | |
【构建配置】增加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 | 7 个月前 | |
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 | 4 个月前 | |
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 | 8 个月前 | |
【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 | 3 个月前 | |
【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 | 3 个月前 | |
【重构】重构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 | 5 个月前 | |
新增【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 | 3 个月前 | |
【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 | 4 个月前 | |
【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 | 4 个月前 |
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应用开发解决方案,使能开发者高效完成训练开发、更多信息请访问 昇腾社区 和 昇腾论坛。
