refacotr
This commit is contained in:
coderfengyun 2014-09-12 15:09:54 +08:00
parent 2b1fdb9f17
commit a703ecc65c
7 changed files with 0 additions and 690 deletions

View File

@ -1,52 +0,0 @@
package org.bench4q.agent.datacollector.impl;
import java.lang.reflect.Field;
public class BehaviorStatusCodeResult {
public long count;
public long contentLength;
public long minResponseTime;
public long maxResponseTime;
public long totalResponseTimeThisTime;
public String contentType;
public BehaviorStatusCodeResult(String contentType) {
this.totalResponseTimeThisTime = 0;
this.contentType = contentType;
this.count = 0;
this.contentLength = 0;
this.minResponseTime = Long.MAX_VALUE;
this.maxResponseTime = Long.MIN_VALUE;
}
public static boolean isSuccess(int statusCode) {
return statusCode == 200;
}
public boolean equals(Object expectedObj) {
Field[] fields = this.getClass().getDeclaredFields();
boolean equal = true;
try {
for (Field field : fields) {
field.setAccessible(true);
if (field.getName().equals("contentType")) {
field.get(expectedObj).equals(field.get(this));
continue;
}
if (field.getLong(this) != field.getLong(expectedObj)) {
System.out.println(field.getName()
+ " is diferent, this is " + field.getLong(this)
+ ", and the expected is "
+ field.getLong(expectedObj));
equal = false;
}
}
} catch (Exception e) {
e.printStackTrace();
equal = false;
}
return equal;
}
}

View File

@ -1,165 +0,0 @@
package org.bench4q.agent.test.datastatistics;
import static org.junit.Assert.*;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import org.bench4q.agent.datacollector.DataCollector;
import org.bench4q.agent.datacollector.impl.ScenarioResultCollector;
import org.bench4q.agent.datacollector.impl.BehaviorStatusCodeResult;
import org.bench4q.agent.scenario.engine.BehaviorResult;
import org.bench4q.agent.storage.StorageHelper;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class DetailStatisticsTest {
private DataCollector detailStatistics;
private DataCollector getDetailStatistics() {
return detailStatistics;
}
private void setDetailStatistics(DataCollector detailStatistics) {
this.detailStatistics = detailStatistics;
}
public DetailStatisticsTest() {
init();
}
private void init() {
@SuppressWarnings("resource")
ApplicationContext context = new ClassPathXmlApplicationContext(
"classpath*:/org/bench4q/agent/config/application-context.xml");
ScenarioResultCollector agentResultDataCollector = new ScenarioResultCollector(
UUID.randomUUID());
agentResultDataCollector.setStorageHelper((StorageHelper) context
.getBean(StorageHelper.class));
this.setDetailStatistics(agentResultDataCollector);
}
@Test
public void addZeroTest() {
for (BehaviorResult behaviorResult : ScenarioStatisticsTest
.makeBehaviorListWhoseBehaviorIdIsOne(0)) {
this.getDetailStatistics().add(behaviorResult);
}
Object object = this.detailStatistics.getBehaviorBriefStatistics(0);
assertEquals(null, object);
}
@Test
public void addOneDetailTest() {
for (BehaviorResult behaviorResult : ScenarioStatisticsTest
.makeBehaviorListWhoseBehaviorIdIsOne(1)) {
this.getDetailStatistics().add(behaviorResult);
}
Map<Integer, BehaviorStatusCodeResult> map = this.detailStatistics
.getBehaviorBriefStatistics(1);
BehaviorStatusCodeResult actualResult = map.get(200);
assertTrue(actualResult.equals(makeExpectedResultForOne()));
}
private BehaviorStatusCodeResult makeExpectedResultForOne() {
BehaviorStatusCodeResult ret = new BehaviorStatusCodeResult("");
ret.contentLength = 20;
ret.count = 1;
ret.maxResponseTime = 200;
ret.minResponseTime = 200;
ret.totalResponseTimeThisTime = 200;
return ret;
}
@Test
public void addTwoDetailTest() {
for (BehaviorResult behaviorResult : ScenarioStatisticsTest
.makeBehaviorListWhoseBehaviorIdIsOne(2)) {
this.getDetailStatistics().add(behaviorResult);
}
Map<Integer, BehaviorStatusCodeResult> map = this.detailStatistics
.getBehaviorBriefStatistics(1);
assertTrue(mapEquals(map, makeExpectedMapForTwo()));
}
private Map<Integer, BehaviorStatusCodeResult> makeExpectedMapForTwo() {
Map<Integer, BehaviorStatusCodeResult> ret = new HashMap<Integer, BehaviorStatusCodeResult>();
ret.put(new Integer(200), buildCodeResult(20, 1, 200, 200, 200));
ret.put(new Integer(400),
buildCodeResult(0, 1, Long.MIN_VALUE, Long.MAX_VALUE, 0));
return ret;
}
@Test
public void addFourDetailTest() {
for (BehaviorResult behaviorResult : ScenarioStatisticsTest
.makeBehaviorListWhoseBehaviorIdIsOne(4)) {
this.getDetailStatistics().add(behaviorResult);
}
Map<Integer, BehaviorStatusCodeResult> map = this.detailStatistics
.getBehaviorBriefStatistics(1);
assertTrue(mapEquals(map, makeExpectedMapForFour()));
}
private Map<Integer, BehaviorStatusCodeResult> makeExpectedMapForFour() {
Map<Integer, BehaviorStatusCodeResult> ret = new HashMap<Integer, BehaviorStatusCodeResult>();
ret.put(new Integer(200), buildCodeResult(40, 2, 220, 200, 420));
ret.put(new Integer(400),
buildCodeResult(0, 2, Long.MIN_VALUE, Long.MAX_VALUE, 0));
return ret;
}
private BehaviorStatusCodeResult buildCodeResult(long contentLength,
long count, long maxResponseTime, long minResponseTime,
long totalResponseTimeThisTime) {
BehaviorStatusCodeResult ret = new BehaviorStatusCodeResult("");
ret.contentLength = contentLength;
ret.count = count;
ret.maxResponseTime = maxResponseTime;
ret.minResponseTime = minResponseTime;
ret.totalResponseTimeThisTime = totalResponseTimeThisTime;
return ret;
}
private boolean mapEquals(Map<Integer, BehaviorStatusCodeResult> mapActual,
Map<Integer, BehaviorStatusCodeResult> mapExpected) {
boolean equal = true;
if (mapActual.size() != mapExpected.size()) {
return false;
}
for (int i : mapActual.keySet()) {
if (!mapActual.get(i).equals(mapExpected.get(i))) {
equal = false;
}
}
return equal;
}
@Test
public void addThreeTest() {
for (BehaviorResult behaviorResult : ScenarioStatisticsTest
.makeBehaviorListWhoseBehaviorIdIsOne(3)) {
this.getDetailStatistics().add(behaviorResult);
}
Map<Integer, BehaviorStatusCodeResult> mapActual = this
.getDetailStatistics().getBehaviorBriefStatistics(1);
assertTrue(mapEquals(mapActual, makeExpectedMapForThree()));
}
private Map<Integer, BehaviorStatusCodeResult> makeExpectedMapForThree() {
Map<Integer, BehaviorStatusCodeResult> retMap = new HashMap<Integer, BehaviorStatusCodeResult>();
retMap.put(200, buildCodeResult(40, 2, 220, 200, 420));
retMap.put(400,
buildCodeResult(0, 1, Long.MIN_VALUE, Long.MAX_VALUE, 0));
return retMap;
}
@Test
public void test_addSomeSameUrlResult() {
}
}

View File

@ -1,113 +0,0 @@
package org.bench4q.master.domain.valueobject.datastatistics;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import org.bench4q.share.models.agent.BehaviorBriefModel;
import org.bench4q.share.models.agent.BehaviorStatusCodeResultModel;
import org.bench4q.share.models.agent.statistics.DataStatisticsModel;
import org.bench4q.share.models.agent.statistics.AgentBehaviorsBriefModel;
import org.bench4q.share.models.master.statistics.ScriptBehaviorsBriefModel;
public class BehaviorsBriefStatistics extends ScriptStatistics {
private Map<Integer, Map<Integer, BehaviorStatusCodeResultModel>> map;
private Map<Integer, String> idUrlMap;
private Map<Integer, Map<Integer, BehaviorStatusCodeResultModel>> getMap() {
return map;
}
private void setMap(
Map<Integer, Map<Integer, BehaviorStatusCodeResultModel>> map) {
this.map = map;
}
public Map<Integer, String> getIdUrlMap() {
return idUrlMap;
}
public void setIdUrlMap(Map<Integer, String> idUrlMap) {
this.idUrlMap = idUrlMap;
}
public BehaviorsBriefStatistics() {
this.setMap(new ConcurrentHashMap<Integer, Map<Integer, BehaviorStatusCodeResultModel>>());
this.setIdUrlMap(new ConcurrentHashMap<Integer, String>());
}
public ScriptBehaviorsBriefModel getStatistics() {
ScriptBehaviorsBriefModel result = new ScriptBehaviorsBriefModel();
AgentBehaviorsBriefModel agentBehaviorsBriefModel = new AgentBehaviorsBriefModel();
List<BehaviorBriefModel> list = new ArrayList<BehaviorBriefModel>();
for (int behaviorId : this.getMap().keySet()) {
BehaviorBriefModel behaviorBriefModel = new BehaviorBriefModel();
behaviorBriefModel.setBehaviorId(behaviorId);
behaviorBriefModel.setBehaviorUrl(this.getIdUrlMap()
.get(behaviorId));
List<BehaviorStatusCodeResultModel> statusList = new ArrayList<BehaviorStatusCodeResultModel>();
for (int statusCode : this.getMap().get(behaviorId).keySet()) {
statusList.add(this.getMap().get(behaviorId).get(statusCode)
.getCopy());
}
behaviorBriefModel.setDetailStatusCodeResultModels(statusList);
this.setBehaviorCount(behaviorBriefModel);
list.add(behaviorBriefModel);
}
agentBehaviorsBriefModel.setBehaviorBriefModels(list);
result.setBehaviorBriefModels(agentBehaviorsBriefModel
.getBehaviorBriefModels());
makeUpResultModelWithSamplingTime(result);
return result;
}
private void setBehaviorCount(BehaviorBriefModel behaviorBriefModel) {
long totalCount = 0, successfulCount = 0;
for (BehaviorStatusCodeResultModel behaviorStatusCodeResultModel : behaviorBriefModel
.getDetailStatusCodeResultModels()) {
totalCount += behaviorStatusCodeResultModel.getCount();
if (behaviorStatusCodeResultModel.isSuccess()) {
successfulCount += behaviorStatusCodeResultModel.getCount();
}
}
behaviorBriefModel.setTotalCount(totalCount);
behaviorBriefModel.setSuccessfulCount(successfulCount);
}
public void add(DataStatisticsModel dataUnit) {
if (!(dataUnit instanceof AgentBehaviorsBriefModel)) {
return;
}
AgentBehaviorsBriefModel input = (AgentBehaviorsBriefModel) dataUnit;
for (BehaviorBriefModel behaviorBriefModel : input
.getBehaviorBriefModels()) {
guardAllMapsKeyExists(behaviorBriefModel);
Map<Integer, BehaviorStatusCodeResultModel> behaviorStatusMap = this
.getMap().get(behaviorBriefModel.getBehaviorId());
for (BehaviorStatusCodeResultModel newOne : behaviorBriefModel
.getDetailStatusCodeResultModels()) {
if (!behaviorStatusMap.containsKey(newOne.getStatusCode())) {
behaviorStatusMap.put(newOne.getStatusCode(), newOne);
continue;
}
BehaviorStatusCodeResultModel origin = behaviorStatusMap
.get(newOne.getStatusCode());
origin.plus(newOne);
}
}
}
private synchronized void guardAllMapsKeyExists(
BehaviorBriefModel behaviorBriefModel) {
if (!this.getMap().containsKey(behaviorBriefModel.getBehaviorId())) {
this.getMap()
.put(behaviorBriefModel.getBehaviorId(),
new ConcurrentHashMap<Integer, BehaviorStatusCodeResultModel>());
}
if (!this.getIdUrlMap().containsKey(behaviorBriefModel.getBehaviorId())) {
this.getIdUrlMap().put(behaviorBriefModel.getBehaviorId(),
behaviorBriefModel.getBehaviorUrl());
}
}
}

View File

@ -1,73 +0,0 @@
package org.bench4q.master.domain.valueobject.datastatistics;
import org.bench4q.share.models.agent.statistics.AgentPageBriefModel;
import org.bench4q.share.models.agent.statistics.DataStatisticsModel;
import org.bench4q.share.models.master.statistics.ScriptPageBriefModel;
/**
*
* @author coderfengyun :This class is only statistics for One page, should
* construct it once each page;
* @Tip countFromBegin : Because of the statistics means that just accumulate
* the "countFromBegin" field of AgentPageBriefModel, so I can just take it
* as a temperary field for this class
*/
public class PageBriefStatistics extends ScriptStatistics {
private long countFromBegin;
private long maxResponseTimeFromBegin;
private long minResponseTimeFromBegin;
private long totalResponseTimeThisTime;
private long countThisTime;
private long latestResponseTime;
public PageBriefStatistics() {
resetTemperaryFields();
this.maxResponseTimeFromBegin = Long.MIN_VALUE;
this.minResponseTimeFromBegin = Long.MAX_VALUE;
}
private void resetTemperaryFields() {
this.totalResponseTimeThisTime = 0;
this.countThisTime = 0;
this.countFromBegin = 0;
}
public void add(DataStatisticsModel dataUnit) {
if (!(dataUnit instanceof AgentPageBriefModel)) {
return;
}
add((AgentPageBriefModel) dataUnit);
}
private void add(AgentPageBriefModel pageBriefModel) {
this.countFromBegin += pageBriefModel.getCountFromBegin();
this.countThisTime += pageBriefModel.getCountThisTime();
this.totalResponseTimeThisTime += pageBriefModel
.getTotalResponseTimeThisTime();
this.latestResponseTime = pageBriefModel.getLatestResponseTime();
if (pageBriefModel.getMaxResponseTimeFromBegin() > this.maxResponseTimeFromBegin) {
this.maxResponseTimeFromBegin = pageBriefModel
.getMaxResponseTimeFromBegin();
}
if (pageBriefModel.getMinResponseTimeFromBegin() < this.minResponseTimeFromBegin) {
this.minResponseTimeFromBegin = pageBriefModel
.getMinResponseTimeFromBegin();
}
}
public Object getStatistics() {
ScriptPageBriefModel result = new ScriptPageBriefModel();
result.setCountFromBegin(this.countFromBegin);
result.setLatestResponseTime(this.latestResponseTime);
result.setMaxResponseTimeFromBegin(this.maxResponseTimeFromBegin);
result.setMinResponseTimeFromBegin(this.minResponseTimeFromBegin);
if (this.countThisTime > 0) {
result.setAverageResponseTimeThisTime(this.totalResponseTimeThisTime
/ this.countThisTime);
}
resetTemperaryFields();
makeUpResultModelWithSamplingTime(result);
return result;
}
}

View File

@ -1,60 +0,0 @@
package org.bench4q.master.domain.valueobject.datastatistics;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import org.bench4q.share.models.agent.statistics.AgentPageBriefModel;
import org.bench4q.share.models.agent.statistics.AgentPagesBriefModel;
import org.bench4q.share.models.agent.statistics.DataStatisticsModel;
import org.bench4q.share.models.master.statistics.ScriptPageBriefModel;
import org.bench4q.share.models.master.statistics.ScriptPagesBriefModel;
public class PagesBriefStatistics extends ScriptStatistics {
private Map<Integer, PageBriefStatistics> map;
private Map<Integer, PageBriefStatistics> getMap() {
return map;
}
private void setMap(Map<Integer, PageBriefStatistics> map) {
this.map = map;
}
public PagesBriefStatistics() {
this.setMap(new ConcurrentHashMap<Integer, PageBriefStatistics>());
}
public void add(DataStatisticsModel dataUnit) {
if (dataUnit instanceof AgentPagesBriefModel) {
add((AgentPagesBriefModel) dataUnit);
}
}
private void add(AgentPagesBriefModel agentPagesBriefModel) {
for (AgentPageBriefModel unit : agentPagesBriefModel
.getPageBriefModels()) {
int key = unit.getPageId();
if (!this.getMap().containsKey(key)) {
guardMapKeyExists(key);
}
this.getMap().get(key).add(unit);
}
}
private synchronized void guardMapKeyExists(int key) {
if (!this.getMap().containsKey(key)) {
this.getMap().put(key, new PageBriefStatistics());
}
}
public Object getStatistics() {
ScriptPagesBriefModel scriptPagesBriefModel = new ScriptPagesBriefModel();
for (Integer key : this.getMap().keySet()) {
scriptPagesBriefModel.getScriptPageBriefModels().add(
(ScriptPageBriefModel) this.getMap().get(key)
.getStatistics());
}
return scriptPagesBriefModel;
}
}

View File

@ -1,214 +0,0 @@
package org.bench4q.master.domain.valueobject.datastatistics;
import java.util.Date;
import org.bench4q.share.models.agent.statistics.AgentBriefStatusModel;
import org.bench4q.share.models.agent.statistics.DataStatisticsModel;
import org.bench4q.share.models.master.statistics.ScriptBriefResultModel;
public class ScriptBriefStatistics extends ScriptStatistics {
private long totalFailCountThisTime;
private long totalSuccessCountThisTime;
private long totalSquareResponseTime;
private long totalFailThroughputThisTime;
private long totalSuccessThroughputThisTime;
private long minResponseTimeThisTime;
private long maxResponseTimeThisTime;
private long totalResponseTimeThisTime;
private long totalFailCountFromBegin;
private long totalSuccessCountFromBegin;
private long totalElapsedTime;
private long activeVUserCountThisTime;
private long effectiveCount;
private ScriptBriefResultModel lastValidBriefResultModel;
private void setTotalFailCountThisTime(long totalFailCountThisTime) {
this.totalFailCountThisTime = totalFailCountThisTime;
}
private void setTotalSuccessCountThisTime(long totalSuccessCountThisTime) {
this.totalSuccessCountThisTime = totalSuccessCountThisTime;
}
private void setTotalSquareResponseTime(long totalSquareResponseTime) {
this.totalSquareResponseTime = totalSquareResponseTime;
}
private void setTotalFailThroughputThisTime(long totalFailThroughputThisTime) {
this.totalFailThroughputThisTime = totalFailThroughputThisTime;
}
private void setTotalSuccessThroughputThisTime(
long totalSuccessThroughputThisTime) {
this.totalSuccessThroughputThisTime = totalSuccessThroughputThisTime;
}
private void setMinResponseTimeThisTime(long minResponseTimeThisTime) {
this.minResponseTimeThisTime = minResponseTimeThisTime;
}
private void setMaxResponseTimeThisTime(long maxResponseTimeThisTime) {
this.maxResponseTimeThisTime = maxResponseTimeThisTime;
}
private void setTotalResponseTimeThisTime(long totalResponseTimeThisTime) {
this.totalResponseTimeThisTime = totalResponseTimeThisTime;
}
private void setTotalFailCountFromBegin(long totalFailCountFromBegin) {
this.totalFailCountFromBegin = totalFailCountFromBegin;
}
private void setTotalSuccessCoutFromBegin(long totalSuccessCoutFromBegin) {
this.totalSuccessCountFromBegin = totalSuccessCoutFromBegin;
}
private void setTotalElapsedTime(long totalElapsedTime) {
this.totalElapsedTime = totalElapsedTime;
}
private void setActiveVUserCountThisTime(long activeVUserCountThisTime) {
this.activeVUserCountThisTime = activeVUserCountThisTime;
}
private void setEffectiveCounte(long effetiveCount) {
this.effectiveCount = effetiveCount;
}
private ScriptBriefResultModel getLastValidBriefResultModel() {
return lastValidBriefResultModel;
}
private void setLastValidBriefResultModel(
ScriptBriefResultModel lastValidBriefResultModel) {
this.lastValidBriefResultModel = lastValidBriefResultModel;
}
public ScriptBriefStatistics() {
reset();
initLastValidBriefResultModel();
}
private void reset() {
this.setTotalFailCountFromBegin(0);
this.setTotalFailCountThisTime(0);
this.setTotalFailThroughputThisTime(0);
this.setTotalResponseTimeThisTime(0);
this.setTotalSquareResponseTime(0);
this.setTotalSuccessCountThisTime(0);
this.setTotalSuccessCoutFromBegin(0);
this.setTotalSuccessThroughputThisTime(0);
this.setTotalElapsedTime(0);
this.setEffectiveCounte(0);
this.setMaxResponseTimeThisTime(Long.MIN_VALUE);
this.setMinResponseTimeThisTime(Long.MAX_VALUE);
this.setActiveVUserCountThisTime(0);
}
private void initLastValidBriefResultModel() {
ScriptBriefResultModel initBriefModel = new ScriptBriefResultModel();
initBriefModel.setAverageElapsedTime(0);
initBriefModel.setAverageResponseTime(0);
initBriefModel.setFailRateThisTime(0);
initBriefModel.setFailThroughputThisTime(0);
initBriefModel.setFinished(false);
initBriefModel.setMaxResponseTime(0);
initBriefModel.setMinResponseTime(0);
initBriefModel.setPlanedRunningTime(0);
initBriefModel.setResponseTimeDeviationThisTime(0);
initBriefModel.setSuccessThroughputThisTime(0);
initBriefModel.setTotalFailCountFromBegin(0);
initBriefModel.setTotalSuccessCountFromBegin(0);
this.setLastValidBriefResultModel(initBriefModel);
}
public void add(DataStatisticsModel dataUnit) {
if (!(dataUnit instanceof AgentBriefStatusModel)) {
return;
}
add((AgentBriefStatusModel) dataUnit);
}
private void add(AgentBriefStatusModel briefModel) {
if (briefModel == null) {
return;
}
this.effectiveCount++;
if (briefModel.getMaxResponseTime() > this.maxResponseTimeThisTime) {
this.setMaxResponseTimeThisTime(briefModel.getMaxResponseTime());
}
if (briefModel.getMinResponseTime() < this.minResponseTimeThisTime) {
this.setMinResponseTimeThisTime(briefModel.getMinResponseTime());
}
this.totalFailCountFromBegin += briefModel.getFailCountFromBegin();
this.totalFailCountThisTime += briefModel.getFailCountThisTime();
this.totalFailThroughputThisTime += briefModel
.getFailThroughputThisTime();
this.totalResponseTimeThisTime += briefModel
.getTotalResponseTimeThisTime();
this.totalSquareResponseTime += briefModel
.getTotalSqureResponseTimeThisTime();
this.totalSuccessCountThisTime += briefModel.getSuccessCountThisTime();
this.totalSuccessCountFromBegin += briefModel
.getSuccessCountFromBegin();
this.totalSuccessThroughputThisTime += briefModel
.getSuccessThroughputThisTime();
this.activeVUserCountThisTime += briefModel.getvUserCount();
}
public ScriptBriefResultModel getStatistics() {
ScriptBriefResultModel result = new ScriptBriefResultModel();
long averageResponseTime = 0;
if (this.totalSuccessCountThisTime == 0) {
result.setAverageResponseTime(0);
result.setMaxResponseTime(0);
result.setMinResponseTime(0);
result.setResponseTimeDeviationThisTime(0);
if (this.totalFailCountThisTime == 0) {
result.setFailRateThisTime(0);
} else {
result.setFailRateThisTime(100);
}
} else {
averageResponseTime = this.totalResponseTimeThisTime
/ this.totalSuccessCountThisTime;
result.setAverageResponseTime(averageResponseTime);
result.setMaxResponseTime(this.maxResponseTimeThisTime);
result.setMinResponseTime(this.minResponseTimeThisTime);
result.setResponseTimeDeviationThisTime(Math.round(Math
.sqrt(this.totalSquareResponseTime
/ this.totalSuccessCountThisTime
- averageResponseTime * averageResponseTime)));
result.setFailRateThisTime(this.totalFailCountThisTime
* 100
/ (this.totalFailCountThisTime + this.totalSuccessCountThisTime));
}
result.setFailThroughputThisTime(this.totalFailThroughputThisTime);
result.setSuccessThroughputThisTime(this.totalSuccessThroughputThisTime);
result.setTotalFailCountFromBegin(this.totalFailCountFromBegin);
result.setTotalSuccessCountFromBegin(this.totalSuccessCountFromBegin);
if (this.effectiveCount == 0) {
result.setAverageElapsedTime(0);
} else {
result.setAverageElapsedTime(this.totalElapsedTime
/ this.effectiveCount);
}
result = dealWithInvalidSamplePoint(result);
result.setSamplingTime(new Date());
result.setvUserCount(this.activeVUserCountThisTime);
reset();
return result;
}
private ScriptBriefResultModel dealWithInvalidSamplePoint(
ScriptBriefResultModel inputModel) {
if (this.totalSuccessCountFromBegin == 0
&& this.totalFailCountFromBegin == 0) {
return this.getLastValidBriefResultModel();
}
this.setLastValidBriefResultModel(inputModel);
return inputModel;
}
}

View File

@ -1,13 +0,0 @@
package org.bench4q.master.domain.valueobject.datastatistics;
import java.util.Date;
import org.bench4q.share.models.master.statistics.SampleModel;
public abstract class ScriptStatistics implements DataStatistics {
protected void makeUpResultModelWithSamplingTime(
SampleModel resultModel) {
resultModel.setSamplingTime(new Date());
}
}