add the statistics with successCount and failCount
add the statistics with successCount and failCount
This commit is contained in:
parent
d8da4eae34
commit
bbe2c8d52f
|
@ -68,7 +68,8 @@ public abstract class AbstractDataCollector implements DataCollector {
|
|||
.isShouldBeCountResponseTime());
|
||||
resultModel.setStartDate(behaviorResult.getStartDate());
|
||||
resultModel.setStatusCode(behaviorResult.getStatusCode());
|
||||
resultModel.setSuccess(behaviorResult.isSuccess());
|
||||
resultModel.setSuccessCount(behaviorResult.getSuccessCount());
|
||||
resultModel.setFailCount(behaviorResult.getFailCount());
|
||||
return resultModel;
|
||||
}
|
||||
|
||||
|
|
|
@ -174,24 +174,20 @@ public class ScenarioResultCollector extends AbstractDataCollector {
|
|||
*/
|
||||
|
||||
private void statisticScenarioBriefResult(BehaviorResult behaviorResult) {
|
||||
if (behaviorResult.isSuccess()) {
|
||||
this.successCountOfThisCall++;
|
||||
this.totalResponseTimeOfThisCall += behaviorResult
|
||||
.getResponseTime();
|
||||
this.totalSqureResponseTimeOfThisCall += ((long) behaviorResult
|
||||
.getResponseTime()) * behaviorResult.getResponseTime();
|
||||
if (behaviorResult.getResponseTime() > this
|
||||
.getMaxResponseTimeOfThisCall()) {
|
||||
this.setMaxResponseTimeOfThisCall(behaviorResult
|
||||
.getResponseTime());
|
||||
}
|
||||
if (behaviorResult.getResponseTime() < this
|
||||
.getMinResponseTimeOfThisCall()) {
|
||||
this.setMinResponseTimeOfThisCall(behaviorResult
|
||||
.getResponseTime());
|
||||
}
|
||||
} else {
|
||||
this.failCountOfThisCall++;
|
||||
this.successCountOfThisCall += behaviorResult.getSuccessCount();
|
||||
this.failCountOfThisCall += behaviorResult.getFailCount();
|
||||
if (behaviorResult.getFailCount() > 0)
|
||||
return;
|
||||
this.totalResponseTimeOfThisCall += behaviorResult.getResponseTime();
|
||||
this.totalSqureResponseTimeOfThisCall += ((long) behaviorResult
|
||||
.getResponseTime()) * behaviorResult.getResponseTime();
|
||||
if (behaviorResult.getResponseTime() > this
|
||||
.getMaxResponseTimeOfThisCall()) {
|
||||
this.setMaxResponseTimeOfThisCall(behaviorResult.getResponseTime());
|
||||
}
|
||||
if (behaviorResult.getResponseTime() < this
|
||||
.getMinResponseTimeOfThisCall()) {
|
||||
this.setMinResponseTimeOfThisCall(behaviorResult.getResponseTime());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -204,7 +200,7 @@ public class ScenarioResultCollector extends AbstractDataCollector {
|
|||
BehaviorStatusCodeResult statusCodeResult = detailStatusMap
|
||||
.get(behaviorResult.getStatusCode());
|
||||
statusCodeResult.count++;
|
||||
if (!behaviorResult.isSuccess()) {
|
||||
if (behaviorResult.getSuccessCount() == 0) {
|
||||
statusCodeResult.maxResponseTime = 0;
|
||||
statusCodeResult.minResponseTime = 0;
|
||||
statusCodeResult.contentLength = 0;
|
||||
|
|
|
@ -2,6 +2,6 @@ package org.bench4q.agent.plugin.result;
|
|||
|
||||
public class CommandLineReturn extends PluginReturn {
|
||||
public CommandLineReturn(boolean success) {
|
||||
this.setSuccess(success);
|
||||
super(success);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -50,7 +50,7 @@ public class HttpReturn extends PluginReturn {
|
|||
|
||||
public HttpReturn(boolean success, int statusCode, long contentLength,
|
||||
String contentType) {
|
||||
this.setSuccess(success);
|
||||
super(success);
|
||||
this.setStatusCode(statusCode);
|
||||
this.setContentLength(contentLength);
|
||||
this.setContentType(contentType);
|
||||
|
|
|
@ -2,6 +2,6 @@ package org.bench4q.agent.plugin.result;
|
|||
|
||||
public class LogReturn extends PluginReturn {
|
||||
public LogReturn(boolean success) {
|
||||
this.setSuccess(success);
|
||||
super(success);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,15 +4,24 @@ import java.util.LinkedHashMap;
|
|||
import java.util.Map;
|
||||
|
||||
public abstract class PluginReturn {
|
||||
private boolean success;
|
||||
private int successCount;
|
||||
private int failCount;
|
||||
private Map<String, String> runTimeParams;
|
||||
|
||||
public boolean isSuccess() {
|
||||
return success;
|
||||
public int getSuccessCount() {
|
||||
return successCount;
|
||||
}
|
||||
|
||||
public void setSuccess(boolean success) {
|
||||
this.success = success;
|
||||
public void setSuccessCount(int successCount) {
|
||||
this.successCount = successCount;
|
||||
}
|
||||
|
||||
public int getFailCount() {
|
||||
return failCount;
|
||||
}
|
||||
|
||||
public void setFailCount(int failCount) {
|
||||
this.failCount = failCount;
|
||||
}
|
||||
|
||||
public Map<String, String> getRunTimeParams() {
|
||||
|
@ -26,4 +35,9 @@ public abstract class PluginReturn {
|
|||
public PluginReturn() {
|
||||
this.setRunTimeParams(new LinkedHashMap<String, String>());
|
||||
}
|
||||
|
||||
public PluginReturn(boolean success) {
|
||||
this.setSuccessCount(success ? 1 : 0);
|
||||
this.setFailCount(success ? 0 : 1);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,6 @@ package org.bench4q.agent.plugin.result;
|
|||
*/
|
||||
public class TimerReturn extends PluginReturn {
|
||||
public TimerReturn(boolean success) {
|
||||
this.setSuccess(success);
|
||||
super(success);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,7 +9,8 @@ public class BehaviorResult {
|
|||
private Date startDate;
|
||||
private Date endDate;
|
||||
private long responseTime;
|
||||
private boolean success;
|
||||
private int successCount;
|
||||
private int failCount;
|
||||
|
||||
private int behaviorId;
|
||||
private String behaviorUrl;
|
||||
|
@ -66,12 +67,20 @@ public class BehaviorResult {
|
|||
this.responseTime = responseTime;
|
||||
}
|
||||
|
||||
public boolean isSuccess() {
|
||||
return success;
|
||||
public int getSuccessCount() {
|
||||
return successCount;
|
||||
}
|
||||
|
||||
public void setSuccess(boolean success) {
|
||||
this.success = success;
|
||||
public void setSuccessCount(int successCount) {
|
||||
this.successCount = successCount;
|
||||
}
|
||||
|
||||
public int getFailCount() {
|
||||
return failCount;
|
||||
}
|
||||
|
||||
public void setFailCount(int failCount) {
|
||||
this.failCount = failCount;
|
||||
}
|
||||
|
||||
public int getBehaviorId() {
|
||||
|
|
|
@ -95,7 +95,9 @@ public class Worker implements Runnable {
|
|||
Date startDate = new Date(System.currentTimeMillis());
|
||||
PluginReturn pluginReturn = (PluginReturn) this.getPluginManager()
|
||||
.doBehavior(plugin, behavior.getName(), behaviorParameters);
|
||||
|
||||
extractRunTimeParams(pluginReturn);
|
||||
|
||||
Date endDate = new Date(System.currentTimeMillis());
|
||||
if (!behavior.shouldBeCountResponseTime()) {
|
||||
continue;
|
||||
|
@ -120,7 +122,8 @@ public class Worker implements Runnable {
|
|||
BehaviorResult result = new BehaviorResult();
|
||||
result.setStartDate(startDate);
|
||||
result.setEndDate(endDate);
|
||||
result.setSuccess(pluginReturn.isSuccess());
|
||||
result.setSuccessCount(pluginReturn.getSuccessCount());
|
||||
result.setFailCount(pluginReturn.getFailCount());
|
||||
result.setResponseTime(endDate.getTime() - startDate.getTime());
|
||||
result.setBehaviorName(behavior.getName());
|
||||
result.setPluginId(behavior.getUse());
|
||||
|
|
|
@ -119,8 +119,8 @@ public class PageResultStatisticsTest {
|
|||
this.getDataCollector().add(
|
||||
PageResult.buildPageResult(2,
|
||||
ScenarioStatisticsTest.makeBehaviorList(2)));
|
||||
AgentPageBriefModel model = (AgentPageBriefModel) this.getDataCollector()
|
||||
.getPageBriefStatistics(2);
|
||||
AgentPageBriefModel model = (AgentPageBriefModel) this
|
||||
.getDataCollector().getPageBriefStatistics(2);
|
||||
assertEquals(2, model.getPageId());
|
||||
assertEquals(2, model.getCountFromBegin());
|
||||
assertEquals(1, model.getCountThisTime());
|
||||
|
|
|
@ -155,11 +155,12 @@ public class ScenarioStatisticsTest {
|
|||
result.setPluginName("get");
|
||||
result.setResponseTime(responseTime);
|
||||
result.setStartDate(date);
|
||||
result.setSuccess(success);
|
||||
result.setSuccessCount(success ? 1 : 0);
|
||||
result.setFailCount(success ? 0 : 1);
|
||||
result.setShouldBeCountResponseTime(true);
|
||||
|
||||
result.setBehaviorId(behaviorId);
|
||||
if (result.isSuccess()) {
|
||||
if (success) {
|
||||
result.setContentLength(20);
|
||||
result.setContentType("image");
|
||||
} else {
|
||||
|
|
|
@ -32,7 +32,7 @@ public class Test_HttpPlugin {
|
|||
public void testGet() {
|
||||
PluginReturn return1 = this.getHttpPlugin().get(
|
||||
"http://www.baidu.com/s", "wd=ok", "", "");
|
||||
assertTrue(return1.isSuccess());
|
||||
assertTrue(return1.getSuccessCount() > 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -40,7 +40,7 @@ public class Test_HttpPlugin {
|
|||
PluginReturn result = this.getHttpPlugin().post(
|
||||
"http://133.133.12.2:8080/bench4q-web/login",
|
||||
"userName=admin;password=admin", null, null, null, null);
|
||||
assertTrue(result.isSuccess());
|
||||
assertTrue(result.getSuccessCount() > 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -51,7 +51,7 @@ public class Test_HttpPlugin {
|
|||
"",
|
||||
"header=Accept|value=text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8|",
|
||||
null);
|
||||
assertTrue(result.isSuccess());
|
||||
assertTrue(result.getSuccessCount() > 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -19,7 +19,9 @@ public class BehaviorResultModel {
|
|||
private Date startDate;
|
||||
private Date endDate;
|
||||
private long responseTime;
|
||||
private boolean success;
|
||||
private int successCount;
|
||||
private int failCount;
|
||||
|
||||
private int behaviorId;
|
||||
private long contentLength;
|
||||
private int statusCode;
|
||||
|
@ -90,12 +92,21 @@ public class BehaviorResultModel {
|
|||
}
|
||||
|
||||
@XmlElement
|
||||
public boolean isSuccess() {
|
||||
return success;
|
||||
public int getSuccessCount() {
|
||||
return successCount;
|
||||
}
|
||||
|
||||
public void setSuccess(boolean success) {
|
||||
this.success = success;
|
||||
public void setSuccessCount(int successCount) {
|
||||
this.successCount = successCount;
|
||||
}
|
||||
|
||||
@XmlElement
|
||||
public int getFailCount() {
|
||||
return failCount;
|
||||
}
|
||||
|
||||
public void setFailCount(int failCount) {
|
||||
this.failCount = failCount;
|
||||
}
|
||||
|
||||
@XmlElement
|
||||
|
|
Loading…
Reference in New Issue