提交 58756c1a 编写于 作者: S shiziyuan9527

删除无用代码

上级 57120bb1
......@@ -9,7 +9,6 @@ import io.metersphere.commons.utils.Pager;
import io.metersphere.controller.request.ReportRequest;
import io.metersphere.dto.ReportDTO;
import io.metersphere.report.base.*;
import io.metersphere.report.dto.ErrorsTop5DTO;
import io.metersphere.service.ReportService;
import io.metersphere.user.SessionUtils;
import org.apache.shiro.authz.annotation.Logical;
......
......@@ -4,7 +4,6 @@ import com.opencsv.bean.CsvToBean;
import com.opencsv.bean.CsvToBeanBuilder;
import com.opencsv.bean.HeaderColumnNameMappingStrategy;
import io.metersphere.report.base.*;
import io.metersphere.report.dto.ErrorsTop5DTO;
import io.metersphere.report.parse.ResultDataParse;
import org.apache.commons.lang3.StringUtils;
import org.apache.jmeter.report.processor.ErrorsSummaryConsumer;
......@@ -16,8 +15,6 @@ import org.apache.jmeter.report.processor.graph.impl.ResponseTimeOverTimeGraphCo
import java.io.Reader;
import java.io.StringReader;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Duration;
import java.time.Instant;
import java.time.LocalDateTime;
......@@ -28,9 +25,7 @@ import java.util.stream.Collectors;
public class GenerateReport {
private static final Integer ERRORS_TOP_SIZE = 5;
private static final String DATE_TIME_PATTERN = "yyyy/MM/dd HH:mm:ss";
private static final String TIME_PATTERN = "HH:mm:ss";
private static List<Metric> resolver(String jtlString) {
HeaderColumnNameMappingStrategy<Metric> ms = new HeaderColumnNameMappingStrategy<>();
......@@ -64,10 +59,6 @@ public class GenerateReport {
return ResultDataParse.summaryMapParsing(statisticsDataMap, Statistics.class);
}
private static String getResponseCodeAndFailureMessage(Metric metric) {
return metric.getResponseCode() + "/" + metric.getResponseMessage();
}
public static TestOverview getTestOverview(String jtlString) {
TestOverview testOverview = new TestOverview();
DecimalFormat decimalFormat = new DecimalFormat("0.00");
......@@ -188,14 +179,4 @@ public class GenerateReport {
return localDateTime.format(dateTimeFormatter);
}
/**
* @param "yyyy-MM-dd HH:mm:ss"
* @return "HH:mm:ss"
*/
private static String formatDate(String dateString) throws ParseException {
SimpleDateFormat before = new SimpleDateFormat(DATE_TIME_PATTERN);
SimpleDateFormat after = new SimpleDateFormat(TIME_PATTERN);
return after.format(before.parse(dateString));
}
}
\ No newline at end of file
package io.metersphere.report.base;
public class RequestStatistics {
/**请求标签*/
private String requestLabel;
/**压测请求数*/
private Integer samples;
/**平均响应时间*/
private String average;
/**平均点击率*/
private String avgHits;
/**90% Line*/
private String tp90;
/**95% Line*/
private String tp95;
/**99% Line*/
private String tp99;
/**最小请求时间 Min Response Time /ms */
private String min;
/**最大请求时间 Max Response Time /ms */
private String max;
/**吞吐量 KB/sec*/
private String kbPerSec;
/**错误率 Error Percentage */
private String errors;
/**错误个数*/
private Integer ko;
public String getRequestLabel() {
return requestLabel;
}
public void setRequestLabel(String requestLabel) {
this.requestLabel = requestLabel;
}
public Integer getSamples() {
return samples;
}
public void setSamples(Integer samples) {
this.samples = samples;
}
public String getAverage() {
return average;
}
public void setAverage(String average) {
this.average = average;
}
public String getAvgHits() {
return avgHits;
}
public void setAvgHits(String avgHits) {
this.avgHits = avgHits;
}
public String getTp90() {
return tp90;
}
public void setTp90(String tp90) {
this.tp90 = tp90;
}
public String getTp95() {
return tp95;
}
public void setTp95(String tp95) {
this.tp95 = tp95;
}
public String getTp99() {
return tp99;
}
public void setTp99(String tp99) {
this.tp99 = tp99;
}
public String getMin() {
return min;
}
public void setMin(String min) {
this.min = min;
}
public String getMax() {
return max;
}
public void setMax(String max) {
this.max = max;
}
public String getKbPerSec() {
return kbPerSec;
}
public void setKbPerSec(String kbPerSec) {
this.kbPerSec = kbPerSec;
}
public String getErrors() {
return errors;
}
public void setErrors(String errors) {
this.errors = errors;
}
public Integer getKo() {
return ko;
}
public void setKo(Integer ko) {
this.ko = ko;
}
}
package io.metersphere.report.dto;
import io.metersphere.report.base.ErrorsTop5;
import java.util.List;
public class ErrorsTop5DTO {
private List<ErrorsTop5> errorsTop5List;
private String label;
private String totalSamples;
private String totalErrors;
private String error1;
private String error1Size;
private String error2;
private String error2Size;
private String error3;
private String error3Size;
private String error4;
private String error4Size;
private String error5;
private String error5Size;
public List<ErrorsTop5> getErrorsTop5List() {
return errorsTop5List;
}
public void setErrorsTop5List(List<ErrorsTop5> errorsTop5List) {
this.errorsTop5List = errorsTop5List;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public String getTotalSamples() {
return totalSamples;
}
public void setTotalSamples(String totalSamples) {
this.totalSamples = totalSamples;
}
public String getTotalErrors() {
return totalErrors;
}
public void setTotalErrors(String totalErrors) {
this.totalErrors = totalErrors;
}
public String getError1() {
return error1;
}
public void setError1(String error1) {
this.error1 = error1;
}
public String getError1Size() {
return error1Size;
}
public void setError1Size(String error1Size) {
this.error1Size = error1Size;
}
public String getError2() {
return error2;
}
public void setError2(String error2) {
this.error2 = error2;
}
public String getError2Size() {
return error2Size;
}
public void setError2Size(String error2Size) {
this.error2Size = error2Size;
}
public String getError3() {
return error3;
}
public void setError3(String error3) {
this.error3 = error3;
}
public String getError3Size() {
return error3Size;
}
public void setError3Size(String error3Size) {
this.error3Size = error3Size;
}
public String getError4() {
return error4;
}
public void setError4(String error4) {
this.error4 = error4;
}
public String getError4Size() {
return error4Size;
}
public void setError4Size(String error4Size) {
this.error4Size = error4Size;
}
public String getError5() {
return error5;
}
public void setError5(String error5) {
this.error5 = error5;
}
public String getError5Size() {
return error5Size;
}
public void setError5Size(String error5Size) {
this.error5Size = error5Size;
}
}
......@@ -29,26 +29,29 @@ public class ResultDataParse {
ListResultData items = (ListResultData) mapResultData.getResult("items");
if (items.getSize() > 0) {
for (int i = 0; i < items.getSize(); i++) {
MapResultData resultData = (MapResultData) items.get(i);
ListResultData data = (ListResultData) resultData.getResult("data");
int size = data.getSize();
String[] strArray = new String[size];
for (int j = 0; j < size; j++) {
ValueResultData valueResultData = (ValueResultData) data.get(j);
if (valueResultData.getValue() == null) {
strArray[j] = "";
} else {
String accept = valueResultData.accept(new JsonizerVisitor());
strArray[j] = accept.replace("\\", "");
}
}
T t = null;
try {
t = setParam(clazz, strArray);
MapResultData resultData = (MapResultData) items.get(i);
ListResultData data = (ListResultData) resultData.getResult("data");
int size = data.getSize();
String[] strArray = new String[size];
T t = clazz.newInstance();
if (size > 0) {
for (int j = 0; j < size; j++) {
ValueResultData valueResultData = (ValueResultData) data.get(j);
if (valueResultData.getValue() == null) {
strArray[j] = "";
} else {
String accept = valueResultData.accept(new JsonizerVisitor());
strArray[j] = accept.replace("\\", "");
}
}
t = setParam(clazz, strArray);
}
list.add(t);
} catch (Exception e) {
e.printStackTrace();
}
list.add(t);
}
}
}
......
......@@ -13,7 +13,6 @@ import io.metersphere.engine.Engine;
import io.metersphere.engine.EngineFactory;
import io.metersphere.report.GenerateReport;
import io.metersphere.report.base.*;
import io.metersphere.report.dto.ErrorsTop5DTO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......
package io.metersphere;
import com.alibaba.fastjson.JSONObject;
import com.opencsv.bean.CsvToBean;
import com.opencsv.bean.CsvToBeanBuilder;
import com.opencsv.bean.HeaderColumnNameMappingStrategy;
import io.metersphere.report.base.RequestStatistics;
import org.junit.Test;
import java.io.Reader;
import java.io.StringReader;
......@@ -201,73 +199,6 @@ public class JtlTest {
List<Metric> metrics = beanBuilderExample(jtlString);
// 根据label分组,label作为map的key
Map<String, List<Metric>> map = metrics.stream().collect(Collectors.groupingBy(Metric::getLabel));
getOneRpsResult(map);
}
private void getOneRpsResult(Map<String, List<Metric>> map){
Iterator<Map.Entry<String, List<Metric>>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, List<Metric>> entry = iterator.next();
String label = entry.getKey();
List<Metric> list = entry.getValue();
List<String> timestampList = list.stream().map(Metric::getTimestamp).collect(Collectors.toList());
int index=0;
//总的响应时间
int sumElapsed=0;
Integer failSize = 0;
Integer totalBytes = 0;
// 响应时间的列表排序之后 用于计算90%line、95%line、99line
List<Integer> elapsedList = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
try {
Metric row = list.get(i);
//响应时间
String elapsed = row.getElapsed();
sumElapsed += Integer.valueOf(elapsed);
elapsedList.add(Integer.valueOf(elapsed));
//成功与否
String success = row.getSuccess();
if (!"true".equals(success)){
failSize++;
}
//字节
String bytes = row.getBytes();
totalBytes += Integer.valueOf(bytes);
index++;
}catch (Exception e){
System.out.println("exception i:"+i);
}
}
Collections.sort(elapsedList, new Comparator<Integer>() {
public int compare(Integer o1, Integer o2) {
return o1-o2;
}
});
Integer tp90 = elapsedList.size()*9/10;
Integer tp95 = elapsedList.size()*95/100;
Integer tp99 = elapsedList.size()*99/100;
Long l = Long.valueOf(timestampList.get(index-1)) - Long.valueOf(timestampList.get(0));
RequestStatistics sceneResult = new RequestStatistics();
sceneResult.setRequestLabel(label);
sceneResult.setSamples(index);
// sceneResult.setAverage(sumElapsed/index);
sceneResult.setTp90(elapsedList.get(tp90)+"");
sceneResult.setTp95(elapsedList.get(tp95)+"");
sceneResult.setTp99(elapsedList.get(tp99)+"");
sceneResult.setMin(elapsedList.get(0)+"");
sceneResult.setMax(elapsedList.get(index-1)+"");
sceneResult.setErrors(String.format("%.2f",failSize*100.0/index)+"%");
sceneResult.setKbPerSec(String.format("%.2f",totalBytes*1.0/1024/(l*1.0/1000)));
System.out.println(JSONObject.toJSONString(sceneResult));
System.out.println();
}
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册