解析结果
生成的结果保存在--output-path指定的路径下。包括如下文件:
profiler.db
用于生成可视化折线图的SQLite数据库文件。
其中含有7张数据库表,具体作用如下:
Table名称 |
含义 |
---|---|
batch |
用于生成服务化采集数据组Batch过程画折线图。 |
decode_gen_speed |
用于生成decode阶段,服务化数据不同时刻吞吐的token平均时延折线图。 |
first_token_latency |
用于生成服务化框架首token时延折线图。 |
kvcache |
用于生成服务化kvcache显存使用情况折线图可视化。 |
prefill_gen_speed |
用于生成prefill阶段,服务化数据不同时刻吞吐的token平均时延折线图。 |
req_latency |
用于生成服务化框架请求端到端时延使用折线图。 |
request_status |
用于生成服务化采集数据不同时刻请求状态折线图。 |
此文件主要用于可视化阶段连接grafana展示图像,不对各表项细节做具体解释说明。
chrome_tracing.json
记录推理服务化请求trace数据,可使用不同可视化工具进行查看,详细介绍请参见数据可视化。
batch.csv
记录服务化推理batch为粒度的详细数据。
字段 |
说明 |
---|---|
name |
用于区分组batch和执行batch。 name为BatchSchedule表示组batch;name为modelExec表示执行batch。 |
res_list |
batch组合情况。 |
start_time(microsecond) |
组batch或执行batch的开始时间,单位us。 |
end_time(microsecond) |
组batch或执行batch的结束时间,单位us。 |
batch_size |
batch中的请求数量。 |
batch_type |
batch中的请求状态(prefill和decode)。 |
during_time(microsecond) |
执行时间,单位us。 |
kvcache.csv
记录推理过程的显存使用情况。
字段 |
说明 |
---|---|
domain |
标注KVcache事件。 |
rid |
请求ID。 |
start_time(microsecond) |
记录显存占用的开始时刻,单位us。 |
end_time(microsecond) |
记录显存释放的时刻,单位us。 |
name |
具体改变显存使用的方法。 |
device_kvcache_left |
显存中剩余blocks数量。 |
during_time(microsecond) |
执行时间,单位us。 |
request.csv
记录服务化推理请求为粒度的详细数据。
字段 |
说明 |
---|---|
http_rid |
HTTP请求ID。 |
start_time_httpReq(microsecond) |
请求到达的时间,单位us。 |
recv_token_size |
请求的输入长度。 |
reply_token_size |
请求的输出长度。 |
execution_time(microsecond) |
请求端到端耗时,单位us。 |
queue_wait_time(microsecond) |
请求在整个推理过程中在队列中等待的时间,这里包括waiting状态和pending状态的时间,单位us。 |
pdSplitComm.csv
PD分离部署场景通信类数据。PD分离部署场景属于多机多卡(集群)场景之一,需要在执行采集时使用共享配置文件。
PD分离部署场景及概念详细介绍请参见《MindIE Service开发指南》中的“集群服务部署 > PD分离服务部署”章节。
字段 |
说明 |
---|---|
rid |
请求ID。 |
httpReqTime |
请求到达时间,单位us。 |
requestSendTime |
P节点开始向D节点发送请求时间,单位us。 |
requestSendSuccTime |
请求发送成功时间,单位us。 |
prefillResTime |
Prefill执行完成时间,单位us。 |
requestEndTime |
请求执行完毕的时间,单位us。 |
pd_separate_kvcache.csv
记录PD分离推理过程的KVCache在PD节点间的传输情况。PD分离部署场景属于多机多卡(集群)场景之一,需要在执行采集时使用共享配置文件。
PD分离部署场景及概念详细介绍请参见《MindIE Service开发指南》中的“集群服务部署 > PD分离服务部署”章节。
字段 |
说明 |
---|---|
domain |
标注PullKVCache事件。 |
rank |
设备ID。 |
rid |
请求ID。 |
block_tables |
block_tables信息。 |
seq_len |
请求长度。 |
during_time(microsecond) |
KVCache从P节点传输到D节点的执行时间,单位us。 |
start_datetime |
KVCache从P节点传输到D节点的开始时间,显示为具体日期,单位us。 |
end_datetime |
KVCache从P节点传输到D节点的结束时间,显示为具体日期,单位us。 |
start_time(microsecond) |
KVCache从P节点传输到D节点的开始时间,显示为时间戳,单位us。 |
end_time(microsecond) |
KVCache从P节点传输到D节点的结束时间,显示为时间戳,单位us。 |
request_summary.csv
多维度解析拆解出的request维度数据。
字段 |
说明 |
---|---|
Metric |
指标项,包含列表头的指标项和行表头的指标数据。 |
指标项(列表头) |
|
first_token_latency (ms) |
首Token时延,单位ms。 |
subsequent_token_latency (ms) |
非首Token时延,指模型生成第一个Token之后,生成后续每个Token所花费的平均时间,单位ms。 |
total_time (ms) |
HTTP请求到结束的总时长,单位ms。 |
exec_time (ms) |
模型执行的总时长,单位ms。 |
waiting_time (ms) |
请求的等待耗时,单位ms。 |
input_token_num |
每个请求对应的输入Token数量。 |
generated_token_num |
每个请求对应的输出Token数量。 |
指标数据(行表头) |
|
Average |
平均值。 |
Max |
最大值。 |
Min |
最小值。 |
P50 |
P50聚合统计。 |
P90 |
P90聚合统计。 |
P99 |
P99聚合统计。 |
batch_summary.csv
多维度解析拆解出的batch维度数据。
字段 |
说明 |
---|---|
Metric |
指标项,包含列表头的指标项和行表头的指标数据。 |
指标项(列表头) |
|
prefill_batch_num |
每个batch中所有batch_type为prefill的记录数量。 |
decode_batch_num |
每个batch中所有batch_type为decode的记录数量。 |
prefill_exec_time (ms) |
每个batch中batch_type为prefill modelExec的记录的during_time,单位ms。 |
decode_exec_time (ms) |
每个batch中batch_type为decode modelExec的记录的during_time,单位ms。 |
指标数据(行表头) |
|
Average |
平均值。 |
Max |
最大值 |
Min |
最小值。 |
P50 |
P50聚合统计。 |
P90 |
P90聚合统计。 |
P99 |
P99聚合统计。 |
service_summary.csv
多维度解析拆解出的总体服务维度数据。
字段 |
说明 |
---|---|
Metric |
指标项,包含列表头的指标项和行表头的指标数据。 |
指标项(列表头) |
|
total_input_token_num |
总输入Token数量。 |
total_generated_token_num |
总输出Token数量。 |
generate_token_speed (token/s) |
每秒输出Token数,单位token/s。 |
process_token_speed (token/s) |
每秒处理Token数,单位token/s。(输入输出总数) |
指标数据(行表头) |
|
value |
值。 |