mirror of
https://github.com/wahyd4/pinpoint.git
synced 2026-08-18 17:26:14 +10:00
Add method, that get scatter data made of dot group . #1518
added complete result.
This commit is contained in:
+15
-3
@@ -26,6 +26,7 @@ import com.navercorp.pinpoint.web.service.ScatterChartService;
|
||||
import com.navercorp.pinpoint.web.util.LimitUtils;
|
||||
import com.navercorp.pinpoint.web.util.TimeUtils;
|
||||
import com.navercorp.pinpoint.web.util.TimeWindow;
|
||||
import com.navercorp.pinpoint.web.view.ServerTime;
|
||||
import com.navercorp.pinpoint.web.view.TransactionMetaDataViewModel;
|
||||
import com.navercorp.pinpoint.web.vo.LimitedScanResult;
|
||||
import com.navercorp.pinpoint.web.vo.Range;
|
||||
@@ -143,6 +144,8 @@ public class ScatterChartController {
|
||||
final List<TransactionId> traceIdList = limitedScanResult.getScanData();
|
||||
logger.trace("submitted transactionId count={}", traceIdList.size());
|
||||
|
||||
boolean requestComplete = traceIdList.size() < limit;
|
||||
|
||||
// TODO just need sorted? we need range check with tree-based structure.
|
||||
SortedSet<TransactionId> traceIdSet = new TreeSet<>(traceIdList);
|
||||
logger.debug("unified traceIdSet size={}", traceIdSet.size());
|
||||
@@ -160,7 +163,7 @@ public class ScatterChartController {
|
||||
} else {
|
||||
resultRange = new Range(limitedScanResult.getLimitedTime(), range.getTo());
|
||||
}
|
||||
return createModelAndView(resultRange, jsonpCallback, scatterData, version);
|
||||
return createModelAndView(resultRange, jsonpCallback, scatterData, requestComplete, version);
|
||||
}
|
||||
|
||||
private ModelAndView selectScatterData(String applicationName, Range range, int limit, boolean backwardDirection, String jsonpCallback, int version) {
|
||||
@@ -171,10 +174,13 @@ public class ScatterChartController {
|
||||
} else {
|
||||
resultRange = new Range(scatterData.get(scatterData.size() - 1).getAcceptedTime(), range.getTo());
|
||||
}
|
||||
return createModelAndView(resultRange, jsonpCallback, scatterData, version);
|
||||
|
||||
boolean requestComplete = scatterData.size() < limit;
|
||||
|
||||
return createModelAndView(resultRange, jsonpCallback, scatterData, requestComplete, version);
|
||||
}
|
||||
|
||||
private ModelAndView createModelAndView(Range range, String jsonpCallback, List<Dot> scatterData, int version) {
|
||||
private ModelAndView createModelAndView(Range range, String jsonpCallback, List<Dot> scatterData, boolean requestComplete, int version) {
|
||||
ModelAndView mv = new ModelAndView();
|
||||
mv.addObject("resultFrom", range.getFrom());
|
||||
mv.addObject("resultTo", range.getTo());
|
||||
@@ -233,6 +239,7 @@ public class ScatterChartController {
|
||||
scatterAgentData.put("_#MinAgent", minList);
|
||||
}
|
||||
|
||||
mv.addObject("complete", requestComplete);
|
||||
mv.addObject("scatter", scatterAgentData);
|
||||
|
||||
if (jsonpCallback == null) {
|
||||
@@ -356,11 +363,16 @@ public class ScatterChartController {
|
||||
|
||||
ModelAndView mv = new ModelAndView();
|
||||
|
||||
mv.addObject("currentServerTime", new ServerTime().getCurrentServerTime());
|
||||
mv.addObject("from", range.getFrom());
|
||||
mv.addObject("to", range.getTo());
|
||||
mv.addObject("resultFrom", scatterData.getOldestAcceptedTime());
|
||||
mv.addObject("resultTo", scatterData.getLatestAcceptedTime());
|
||||
|
||||
boolean requestComplete = scatterData.getDotSize() < limit;
|
||||
mv.addObject("complete", requestComplete);
|
||||
mv.addObject("scatter", scatterData);
|
||||
|
||||
return mv;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.navercorp.pinpoint.web.vo.scatter.DotAgentInfo;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -150,6 +151,19 @@ public class ScatterData {
|
||||
return sortedMap;
|
||||
}
|
||||
|
||||
public int getDotSize() {
|
||||
int totalDotSize = 0;
|
||||
|
||||
Collection<DotGroups> dotGroupsList = scatterData.values();
|
||||
for (DotGroups dotGroups : dotGroupsList) {
|
||||
Collection<DotGroup> dotGroupList = dotGroups.getDotGroupMap().values();
|
||||
for (DotGroup dotGroup : dotGroupList) {
|
||||
totalDotSize += dotGroup.getDotSize();
|
||||
}
|
||||
}
|
||||
return totalDotSize;
|
||||
}
|
||||
|
||||
public long getFrom() {
|
||||
return from;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user