use of com.navercorp.pinpoint.web.vo.scatter.Dot in project pinpoint by naver.
the class DotExtractor method getApplicationScatterData.
public Map<Application, ScatterData> getApplicationScatterData(long from, long to, int xGroupUnitMillis, int yGroupUnitMillis) {
Map<Application, ScatterData> applicationScatterDataMap = new HashMap<>();
for (Map.Entry<Application, List<Dot>> entry : this.dotMap.entrySet()) {
Application application = entry.getKey();
List<Dot> dotList = entry.getValue();
ScatterData scatterData = new ScatterData(from, to, xGroupUnitMillis, yGroupUnitMillis);
scatterData.addDot(dotList);
applicationScatterDataMap.put(application, scatterData);
}
return applicationScatterDataMap;
}
use of com.navercorp.pinpoint.web.vo.scatter.Dot in project pinpoint by naver.
the class HbaseApplicationTraceIndexDao method scanTraceScatter.
/**
*
*/
@Override
public List<Dot> scanTraceScatter(String applicationName, SelectedScatterArea area, TransactionId offsetTransactionId, int offsetTransactionElapsed, int limit) {
if (applicationName == null) {
throw new NullPointerException("applicationName must not be null");
}
if (area == null) {
throw new NullPointerException("range must not be null");
}
if (limit < 0) {
throw new IllegalArgumentException("negative limit:" + limit);
}
logger.debug("scanTraceScatter");
Scan scan = createScan(applicationName, area.getTimeRange());
// method 1
// not used yet. instead, use another row mapper (testing)
// scan.setFilter(makeResponseTimeFilter(area, offsetTransactionId, offsetTransactionElapsed));
// method 2
ResponseTimeRange responseTimeRange = area.getResponseTimeRange();
TraceIndexScatterMapper2 mapper = new TraceIndexScatterMapper2(responseTimeRange.getFrom(), responseTimeRange.getTo());
List<List<Dot>> dotListList = hbaseOperations2.findParallel(HBaseTables.APPLICATION_TRACE_INDEX, scan, traceIdRowKeyDistributor, limit, mapper, APPLICATION_TRACE_INDEX_NUM_PARTITIONS);
List<Dot> result = new ArrayList<>();
for (List<Dot> dotList : dotListList) {
result.addAll(dotList);
}
return result;
}
use of com.navercorp.pinpoint.web.vo.scatter.Dot in project pinpoint by naver.
the class TraceIndexScatterMapper method mapRow.
@Override
public List<Dot> mapRow(Result result, int rowNum) throws Exception {
if (result.isEmpty()) {
return Collections.emptyList();
}
Cell[] rawCells = result.rawCells();
List<Dot> list = new ArrayList<>(rawCells.length);
for (Cell cell : rawCells) {
final Dot dot = createDot(cell);
list.add(dot);
}
return list;
}
use of com.navercorp.pinpoint.web.vo.scatter.Dot in project pinpoint by naver.
the class TraceIndexScatterMapper2 method mapRow.
@Override
public List<Dot> mapRow(Result result, int rowNum) throws Exception {
if (result.isEmpty()) {
return Collections.emptyList();
}
Cell[] rawCells = result.rawCells();
List<Dot> list = new ArrayList<>(rawCells.length);
for (Cell cell : rawCells) {
final Dot dot = createDot(cell);
if (dot != null) {
list.add(dot);
}
}
return list;
}
use of com.navercorp.pinpoint.web.vo.scatter.Dot in project pinpoint by naver.
the class ScatterData method addDot.
public void addDot(Dot dot) {
if (dot == null) {
return;
}
long acceptedTimeDiff = dot.getAcceptedTime() - from;
long x = acceptedTimeDiff - (acceptedTimeDiff % xGroupUnitMillis);
if (x < 0) {
x = 0L;
}
int y = dot.getElapsedTime() - (dot.getElapsedTime() % yGroupUnitMillis);
Coordinates coordinates = new Coordinates(x, y);
addDot(coordinates, new Dot(dot.getTransactionId(), acceptedTimeDiff, dot.getElapsedTime(), dot.getExceptionCode(), dot.getAgentId()));
if (oldestAcceptedTime > dot.getAcceptedTime()) {
oldestAcceptedTime = dot.getAcceptedTime();
}
if (latestAcceptedTime < dot.getAcceptedTime()) {
latestAcceptedTime = dot.getAcceptedTime();
}
}
Aggregations