---
title: 数据解析
description: "解析服务化性能数据。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/devaids/Profiling/mindieprofiling_0008.html
sourcePath: /source/zh/canncommercial/900/devaids/Profiling/mindieprofiling_0008.html
indexId: eef31fc5ddd73ab10379f94881b4e516d8175f2a4835146030a634a10bc1c42173
---
# 数据解析

#### 功能说明

解析服务化性能数据。


#### 注意事项

- 数据采集时会锁定落盘文件，需要等待采集结束之后才能启动解析，否则将提示报错“db is lock”。
- 数据解析没有结束前，不可再次开启动态采集，否则可能出现降低采集性能等问题。
- 数据解析功能需要安装如下版本：

  - python >= 3.10
  - pandas >= 2.2
  - numpy >= 1.24.3
  - psutil >= 5.9.5
  - matplotlib >= 3.7.5
  - scipy >= 1.7.2


#### 命令格式

```
python3 -m ms_service_profiler.parse --input-path <input-path> [options]
```

options参数说明请参见参数说明。


#### 参数说明


**表1 参数说明**

| 参数 | 说明 | 是否必选 |
| --- | --- | --- |
| \-\-input\-path | 指定性能数据所在路径，会遍历读取该路径下所有名为msproftx.db、ascend\_service\_profiler\_\*.db和ms\_service\_\*.db的数据库。 | 是 |
| \-\-output\-path | 指定解析后文件生成路径，默认为当前路径下的output目录。 | 否 |
| \-\-log\-level | 设置日志级别，取值为： debug：调试级别。该级别的日志记录了调试信息，便于开发人员或维护人员定位问题。 info：正常级别。记录工具正常运行的信息。默认值。 warning：警告级别。记录工具和预期的状态不一致，但不影响整个进程运行的信息。 error：一般错误级别。 fatal：严重错误级别。 critical：致命错误级别。 | 否 |
| \-\-format | 设置性能数据输出文件的导出格式，取值为： csv：表示只导出csv格式的结果文件。一般用于原始落盘数据量过大（通常为>10G）场景，仅导出该格式文件可减少数据解析耗时，该格式文件包含每轮请求调度耗时、模型执行耗时、KVCache显存占用情况等。 json：表示只导出json格式的结果文件。一般用于仅需使用trace数据进行分析的场景，仅导出该格式文件可减少数据解析耗时，该格式文件包含服务化框架推理全过程Timeline图。 db：表示只导出db格式的结果文件。一般用于仅通过MindStudio Insight工具分析结果数据场景，该格式文件包含全量数据解析结果，可直接在MindStudio Insight中完全展示。 不使用format则默认全部导出，可以配置一个或多个参数，配置示例：\-\-format db，\-\-format db csv。 说明： 若数据采集时，配置acl\_task\_time参数值为2，则解析结果文件仅支持导出json和db格式。 | 否 |


#### 使用示例

执行解析命令进行基础数据解析：

```
python3 -m ms_service_profiler.parse --input-path ${PATH}/prof_dir/
```

进行基础解析的同时，可对性能数据按照不同维度（request维度、batch维度、总体服务维度）进行多维度解析(https://gitcode.com/Ascend/msit/blob/master/msserviceprofiler/docs/服务化多维度解析工具.md)，也可对不同batch数据进行细粒度性能拆解(https://gitcode.com/Ascend/msit/blob/master/msserviceprofiler/docs/服务化拆解工具.md)。


#### 输出说明

解析命令执行完成后将--output-path参数指定的路径下输出解析结果。
