use of com.navercorp.pinpoint.web.applicationmap.ApplicationMapWithScatterData in project pinpoint by naver.
the class FilteredMapServiceImpl method selectApplicationMapWithScatterData.
@Override
public ApplicationMap selectApplicationMapWithScatterData(List<TransactionId> transactionIdList, Range originalRange, Range scanRange, int xGroupUnit, int yGroupUnit, Filter filter) {
if (transactionIdList == null) {
throw new NullPointerException("transactionIdList must not be null");
}
if (filter == null) {
throw new NullPointerException("filter must not be null");
}
StopWatch watch = new StopWatch();
watch.start();
final List<List<SpanBo>> filterList = selectFilteredSpan(transactionIdList, filter);
DotExtractor dotExtractor = createDotExtractor(scanRange, filterList);
ApplicationMap map = createMap(originalRange, scanRange, filterList);
ApplicationMapWithScatterData applicationMapWithScatterData = new ApplicationMapWithScatterData(map, dotExtractor.getApplicationScatterData(originalRange.getFrom(), originalRange.getTo(), xGroupUnit, yGroupUnit));
watch.stop();
logger.debug("Select filtered application map elapsed. {}ms", watch.getTotalTimeMillis());
return applicationMapWithScatterData;
}
use of com.navercorp.pinpoint.web.applicationmap.ApplicationMapWithScatterData in project pinpoint by naver.
the class FilteredMapServiceImpl method selectApplicationMapWithScatterData.
public ApplicationMap selectApplicationMapWithScatterData(FilteredMapServiceOption option) {
StopWatch watch = new StopWatch();
watch.start();
final List<List<SpanBo>> filterList = selectFilteredSpan(option.getTransactionIdList(), option.getFilter(), option.getColumnGetCount());
FilteredMapBuilder filteredMapBuilder = new FilteredMapBuilder(applicationFactory, registry, option.getOriginalRange(), option.getVersion());
filteredMapBuilder.serverMapDataFilter(serverMapDataFilter);
filteredMapBuilder.addTransactions(filterList);
FilteredMap filteredMap = filteredMapBuilder.build();
ApplicationMap map = createMap(option, filteredMap);
Map<Application, ScatterData> applicationScatterData = filteredMap.getApplicationScatterData(option.getOriginalRange().getFrom(), option.getOriginalRange().getTo(), option.getxGroupUnit(), option.getyGroupUnit());
ApplicationMapWithScatterData applicationMapWithScatterData = new ApplicationMapWithScatterData(map, applicationScatterData);
watch.stop();
logger.debug("Select filtered application map elapsed. {}ms", watch.getTotalTimeMillis());
return applicationMapWithScatterData;
}
use of com.navercorp.pinpoint.web.applicationmap.ApplicationMapWithScatterData in project pinpoint by naver.
the class FilterMapWrapSerializer method serialize.
@Override
public void serialize(FilterMapWrap wrap, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
jgen.writeStartObject();
jgen.writeObjectField("applicationMapData", wrap.getApplicationMap());
jgen.writeNumberField("lastFetchedTimestamp", wrap.getLastFetchedTimestamp());
if (wrap.getApplicationMap() instanceof ApplicationMapWithScatterScanResult) {
final List<ApplicationScatterScanResult> applicationScatterScanResult = ((ApplicationMapWithScatterScanResult) wrap.getApplicationMap()).getApplicationScatterScanResultList();
jgen.writeFieldName("applicationScatterScanResult");
jgen.writeStartObject();
for (ApplicationScatterScanResult scatterScanResult : applicationScatterScanResult) {
Application application = scatterScanResult.getApplication();
String name = Node.createNodeName(application);
jgen.writeObjectField(name, scatterScanResult.getScatterScanResult());
}
jgen.writeEndObject();
}
if (wrap.getApplicationMap() instanceof ApplicationMapWithScatterData) {
Map<Application, ScatterData> applicationScatterDataMap = ((ApplicationMapWithScatterData) wrap.getApplicationMap()).getApplicationScatterDataMap();
jgen.writeFieldName("applicationScatterData");
jgen.writeStartObject();
for (Map.Entry<Application, ScatterData> entry : applicationScatterDataMap.entrySet()) {
Application application = entry.getKey();
String name = Node.createNodeName(application);
jgen.writeFieldName(name);
ScatterData scatterData = entry.getValue();
jgen.writeStartObject();
jgen.writeObjectField("from", scatterData.getFrom());
jgen.writeObjectField("to", scatterData.getTo());
jgen.writeObjectField("resultFrom", scatterData.getOldestAcceptedTime());
jgen.writeObjectField("resultTo", scatterData.getLatestAcceptedTime());
jgen.writeObjectField("scatter", scatterData);
jgen.writeEndObject();
}
jgen.writeEndObject();
}
jgen.writeEndObject();
}
Aggregations