提交 2142b055 authored 作者: 黄承天's avatar 黄承天

[feature]

耗费时间的计算机制改变 统计数据细化
上级 558c48c2
......@@ -10,6 +10,8 @@ public interface TargetType {
String LINK_TEXT = "linkText";
String XPATH_HREF = "xpath:href";
String XPATH_POSITION = "xpath:position";
String XPATH_ID_RELATIVE = "xpath:idRelative";
......
......@@ -28,13 +28,22 @@ public class Statistics {
@ApiModelProperty(value = "步骤平均耗费时间", example = "100", position = 6)
private Long averageCostTime;
@ApiModelProperty(value = "耗费时间小于2的步骤数", example = "80", position = 7)
private Integer littleThan2s;
@ApiModelProperty(value = "耗费时间小于1的步骤数", example = "80", position = 7)
private Integer littleThan1s;
@ApiModelProperty(value = "耗费时间在1到2之间的步骤数", example = "10", position = 8)
private Integer between1sAnd2s;
@ApiModelProperty(value = "耗费时间在2到3之间的步骤数", example = "10", position = 8)
private Integer between2sAnd3s;
@ApiModelProperty(value = "耗费时间大于3的步骤数", example = "10", position = 9)
private Integer greaterThan3s;
@ApiModelProperty(value = "耗费时间在3到4之间的步骤数", example = "10", position = 8)
private Integer between3sAnd4s;
@ApiModelProperty(value = "耗费时间在4到5之间的步骤数", example = "10", position = 8)
private Integer between4sAnd5s;
@ApiModelProperty(value = "耗费时间大于5的步骤数", example = "10", position = 9)
private Integer greaterThan5s;
}
......@@ -18,6 +18,7 @@ import java.util.stream.Collectors;
import static java.lang.String.format;
@SuppressWarnings("Duplicates")
@Service
public class ReportService {
......@@ -110,12 +111,24 @@ public class ReportService {
.map(this::getLittlerThan1s)
.reduce(Integer::sum)
.orElse(-1);
Integer between1sAnd2s = reports.stream()
.map(this::getBetween1sAnd2s)
.reduce(Integer::sum)
.orElse(-1);
Integer between2sAnd3s = reports.stream()
.map(this::getBetween2sAnd3s)
.reduce(Integer::sum)
.orElse(-1);
Integer greaterThan3s = reports.stream()
.map(this::getGreaterThan3s)
Integer between3sAnd4s = reports.stream()
.map(this::getBetween3sAnd4s)
.reduce(Integer::sum)
.orElse(-1);
Integer between4sAnd5s = reports.stream()
.map(this::getBetween4sAnd5s)
.reduce(Integer::sum)
.orElse(-1);
Integer greaterThan5s = reports.stream()
.map(this::getGreaterThan5s)
.reduce(Integer::sum)
.orElse(-1);
return new Statistics(
......@@ -126,8 +139,11 @@ public class ReportService {
failures,
averageCostTime,
litterThan1s,
between1sAnd2s,
between2sAnd3s,
greaterThan3s
between3sAnd4s,
between4sAnd5s,
greaterThan5s
);
}
......@@ -138,16 +154,37 @@ public class ReportService {
return Math.toIntExact(count);
}
private Integer getBetween1sAnd2s(ReportVo report) {
long count = report.getSteps().stream()
.filter(step -> step.getCostTime() >= 1000 && step.getCostTime() < 2000)
.count();
return Math.toIntExact(count);
}
private Integer getBetween2sAnd3s(ReportVo report) {
long count = report.getSteps().stream()
.filter(step -> step.getCostTime() >= 2000 && step.getCostTime() <= 3000)
.filter(step -> step.getCostTime() >= 2000 && step.getCostTime() < 3000)
.count();
return Math.toIntExact(count);
}
private Integer getBetween3sAnd4s(ReportVo report) {
long count = report.getSteps().stream()
.filter(step -> step.getCostTime() >= 3000 && step.getCostTime() < 4000)
.count();
return Math.toIntExact(count);
}
private Integer getBetween4sAnd5s(ReportVo report) {
long count = report.getSteps().stream()
.filter(step -> step.getCostTime() >= 4000 && step.getCostTime() < 5000)
.count();
return Math.toIntExact(count);
}
private Integer getGreaterThan3s(ReportVo report) {
private Integer getGreaterThan5s(ReportVo report) {
long count = report.getSteps().stream()
.filter(step -> step.getCostTime() > 3000)
.filter(step -> step.getCostTime() >= 5000)
.count();
return Math.toIntExact(count);
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论