多timeMeasureStart对应单timeMeasureEnd时,如何单独获取各块统计数据?
解决方法
要让同一个timeMeasureEnd块分别输出每个关联timeMeasureStart块的独立统计数据,可以按以下几种方式处理:
1. 为每个timeMeasureStart设置唯一标识
给A、B、C三个timeMeasureStart块分别设置唯一的name属性,例如:
- 给A块设置:
name="time_A" - 给B块设置:
name="time_B" - 给C块设置:
name="time_C"
关联到同一个timeMeasureEnd块Z后,统计输出会自动按name分组,分别展示每个Start块的均值、最大值、最小值、计数等数据,不会再合并成一组。
2. 开启按Start块分组的配置开关
检查你使用的工具中timeMeasureEnd块的配置项,寻找类似groupByStartName、splitByAssociatedStarts这类开关选项,启用后会自动拆分所有关联Start块的统计结果,无需额外修改Start块的属性。
3. 自定义存储与统计逻辑
如果上述两种方式不适用,可以手动为每个Start块绑定独立的变量来存储计时数据:
- 在每个
timeMeasureStart块中记录起始时间到专属变量,比如vars.put("start_A", String.valueOf(System.currentTimeMillis())) - 在
timeMeasureEnd块Z中,分别计算每个Start块的耗时,并单独统计其均值、极值等:
最后将每个Start块的统计结果单独输出即可。long timeA = System.currentTimeMillis() - Long.parseLong(vars.get("start_A")); // 将timeA存入集合,后续计算A的统计值 long timeB = System.currentTimeMillis() - Long.parseLong(vars.get("start_B")); // 同理处理B、C的统计
内容的提问来源于stack exchange,提问作者SkyKing
相关产品推荐
相关产品推荐

