You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Splunk按服务统计平均TPS时添加by service后无返回结果问题咨询

问题根因

你语法执行无返回的核心原因是timechart命令的输出特性:执行timechart span=1s count as TPS之后,结果仅会保留_time、TPS两个字段,你需要的service维度字段在这一步已经被聚合丢弃,后续stats by service找不到对应字段,自然返回空结果。

正确实现方案

要实现按服务维度拆分统计平均TPS,需要在秒级计数的步骤保留service字段,推荐使用如下两种写法:

写法1:直接使用timechart的by参数拆分维度

index="index"  
| transaction "correlationId" keepevicted=true 
| timechart span=1s count as TPS by service
| stats avg(*) as avg_TPS_*

该写法输出结果会把每个服务的平均TPS作为独立字段展示,适合服务数量少的场景。

写法2:先分桶再二次统计(输出更规整)

index="index"  
| transaction "correlationId" keepevicted=true 
| bucket span=1s _time
| stats count as per_second_tps by _time service
| stats count as total_stat_seconds avg(per_second_tps) as avg_TPS by service

该写法每个服务独占一行结果,附带统计覆盖的总秒数可用于结果校验,适合服务数量多的场景。

可选优化建议

如果你的数据量较大,transaction命令性能会比较差,可以用stats命令替代实现相同的事务聚合逻辑:

index="index"
| stats min(_time) as _time by correlationId service
| bucket span=1s _time
| stats count as per_second_tps by _time service
| stats count as total_stat_seconds avg(per_second_tps) as avg_TPS by service

内容的提问来源于stack exchange,提问作者Erfan Tavoosi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 17:36:02