Grafana可视化
功能说明
Grafana工具支持对服务化调优工具采集并解析的性能数据进行可视化展示。
环境依赖
工具版本:Grafana=11.3.0,SQLite插件=11.3.0。
安装并连接Grafana
Grafana安装官方网址https://grafana.com/grafana/download?platform=arm&edition=oss,下载安装对应开源版本解压运行。例如:
tar -zxvf grafana-11.3.0.linux-arm64.tar.gz cd grafana-v11.3.0/bin/ ./grafana-server
配置Windows代理,需要添加Linux设备IP前缀,例如90.90.*;90.91.*,访问http://Linux设备IP:3000/即可打开Grafana的Web端,初始账号密码都为admin。

使用示例
- 新建Data sources,如图2所示。
data source类型选择SQLite类型,如图2 Add data source所示。
将解析生成的SQLite数据库文件profiler.db连接到Grafana,并记录datasource uid,如图3 Data sources所示。
- 新建dashboard,导入折线图。
在/xxx/Ascend/cann-{version}/tools/msserviceprofiler/python/ms_service_profiler/views/路径下包含可视化文件profiler_visualization.json,修改json文件中datasource的uid为步骤2中记录的uid。
{cann_version}为CANN软件包版本,支持CANN 8.1.RC1及之后的版本。
图5 uid示意图
json文件末尾的uid用于唯一标记此dashboard,这里不用修改;title用于给此dashboard命名,默认为Profiler Visualization。
图6 json示意图
- 新建dashboard,将修改后的json文件内容粘贴导入,即可在Dashboards中找到相对应名称的dashboard。图7 Dashboards
图8 Import dashboard
图9 设置参数
可视化结果
生成的Grafana dashboard中包含以下可视化图像:
可视化图像名称 |
描述 |
|---|---|
Batch Size by Batch ID |
记录BatchSchedule过程中每个batch包含的请求数量折线图。根据时间排序,区分prefill和decode。 |
Request Status |
服务中处于不同状态下的请求数目随时间变化的折线图。 |
Kvcache usage percent |
所有请求Kvcache使用率随时间变换折线图。包含所有请求的Kvcache使用率情况。 |
first_token_latency |
所有请求首token时延随时间变化折线图。包含所有请求首token时延的平均值avg,分位值p99、p90、p50等。 |
prefill_generate_speed_latency |
所有请求prefill阶段,不同时刻吞吐的token平均时延随时间变化折线图。包含所有请求不同时刻吞吐的token平均时延的平均值avg,分位值p99、p90、p50等。 |
decode_generate_speed_latency |
所有请求decode阶段,不同时刻吞吐的token平均时延随时间变化折线图。包含所有请求不同时刻吞吐的token平均时延的平均值avg,分位值p99、p90、p50等。 |
request_latency |
所有请求端到端时延随时间变化折线图。包含所有请求端到端时延的平均值avg,分位值p99、p90、p50等。 |
- Batch Size by Batch ID
记录BatchSchedule过程中每个batch包含的请求数量折线图。
横轴:按执行时间顺序的第x个batch,从0开始。
纵轴:记录对应batch的batch size,区分prefill batch和decode batch。
图10 Batch Size by Batch ID
- Request Status
横轴:服务化推理运行时间轴。
纵轴:当前时刻处于该状态的请求总数。
图11 Request Status
- Kvcache usage percent
横轴:服务化推理运行时间轴。
纵轴:所有请求Kvcache使用率的变化情况。单位:百分率%。
图12 Kvcache usage percent
- first_token_latency
横轴:服务化推理运行时间轴。
纵轴:所有请求首token时延的平均值avg,分位值p99、p90、p50。单位:us。
图13 first_token_latency
- prefill_generate_speed_latency
所有请求prefill阶段,不同时刻吞吐的token平均时延随时间变化折线图。
横轴:服务化推理运行时间轴。
纵轴:所有请求prefill阶段不同时刻吞吐的token平均时延的平均值avg,分位值p99、p90、p50。单位:token个数/s。
图14 prefill_generate_speed_latency
- decode_generate_speed_latency
所有请求decode阶段,不同时刻吞吐的token平均时延随时间变化折线图。
横轴:服务化推理运行时间轴。
纵轴:所有请求decode阶段不同时刻吞吐的token平均时延的平均值avg,分位值p99、p90、p50。单位:token个数/s。
图15 decode_generate_speed_latency
- request_latency
横轴:服务化推理运行时间轴。
纵轴:所有请求端到端时延的平均值avg,分位值p99、p90、p50。单位:us。
图16 request_latency


