mirror of
https://github.com/wahyd4/pinpoint.git
synced 2026-08-27 21:56:38 +10:00
[유치수] [NOBTS] add scatter chart
git-svn-id: http://svn.bds.nhncorp.com/pe/hippo-web/trunk@817 84d0f5b1-2673-498c-a247-62c4ff18d310
This commit is contained in:
@@ -53,7 +53,8 @@ public class FlowChartController {
|
||||
|
||||
model.addAttribute("nodes", callTree.getNodes());
|
||||
model.addAttribute("links", callTree.getLinks());
|
||||
model.addAttribute("businessTransactions", callTree.getBusinessTransactions().iterator());
|
||||
model.addAttribute("businessTransactions", callTree.getBusinessTransactions().getBusinessTransactionIterator());
|
||||
model.addAttribute("traces", callTree.getBusinessTransactions().getTracesIterator());
|
||||
|
||||
logger.debug("callTree:{}", callTree);
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ public class BusinessTransaction {
|
||||
long elapsed = end - begin;
|
||||
totalTime = maxTime = minTime = elapsed;
|
||||
|
||||
this.traces.add(new Trace(new UUID(span.getMostTraceId(), span.getLeastTraceId()).toString(), elapsed));
|
||||
this.traces.add(new Trace(new UUID(span.getMostTraceId(), span.getLeastTraceId()).toString(), elapsed, span.getTimestamp()));
|
||||
calls++;
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ public class BusinessTransaction {
|
||||
if (minTime > elapsed)
|
||||
minTime = elapsed;
|
||||
|
||||
this.traces.add(new Trace(new UUID(span.getMostTraceId(), span.getLeastTraceId()).toString(), elapsed));
|
||||
this.traces.add(new Trace(new UUID(span.getMostTraceId(), span.getLeastTraceId()).toString(), elapsed, span.getTimestamp()));
|
||||
|
||||
if (span.getParentSpanId() == -1) {
|
||||
calls++;
|
||||
|
||||
@@ -6,41 +6,61 @@ import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import com.profiler.common.bo.SpanBo;
|
||||
import com.profiler.common.dto.thrift.Span;
|
||||
|
||||
public final class BusinessTransactions implements Iterable<BusinessTransaction> {
|
||||
public final class BusinessTransactions {
|
||||
|
||||
private final Map<String, BusinessTransaction> transactions = new HashMap<String, BusinessTransaction>();
|
||||
private Iterator<Entry<String, BusinessTransaction>> iterator;
|
||||
private final Map<String, BusinessTransaction> transactions = new HashMap<String, BusinessTransaction>();
|
||||
private Iterator<Entry<String, BusinessTransaction>> iterator;
|
||||
private Iterator<Entry<String, BusinessTransaction>> traceIterator;
|
||||
|
||||
public void add(SpanBo span) {
|
||||
String name = span.getName();
|
||||
if (transactions.containsKey(name)) {
|
||||
transactions.get(name).add(span);
|
||||
} else {
|
||||
transactions.put(name, new BusinessTransaction(span));
|
||||
}
|
||||
}
|
||||
public void add(SpanBo span) {
|
||||
String name = span.getName();
|
||||
if (transactions.containsKey(name)) {
|
||||
transactions.get(name).add(span);
|
||||
} else {
|
||||
transactions.put(name, new BusinessTransaction(span));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<BusinessTransaction> iterator() {
|
||||
iterator = transactions.entrySet().iterator();
|
||||
public Iterator<BusinessTransaction> getBusinessTransactionIterator() {
|
||||
iterator = transactions.entrySet().iterator();
|
||||
|
||||
return new Iterator<BusinessTransaction>() {
|
||||
@Override
|
||||
public boolean hasNext() {
|
||||
return iterator.hasNext();
|
||||
}
|
||||
return new Iterator<BusinessTransaction>() {
|
||||
@Override
|
||||
public boolean hasNext() {
|
||||
return iterator.hasNext();
|
||||
}
|
||||
|
||||
@Override
|
||||
public BusinessTransaction next() {
|
||||
return iterator.next().getValue();
|
||||
}
|
||||
@Override
|
||||
public BusinessTransaction next() {
|
||||
return iterator.next().getValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove() {
|
||||
@Override
|
||||
public void remove() {
|
||||
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public Iterator<BusinessTransaction> getTracesIterator() {
|
||||
traceIterator = transactions.entrySet().iterator();
|
||||
|
||||
return new Iterator<BusinessTransaction>() {
|
||||
@Override
|
||||
public boolean hasNext() {
|
||||
return traceIterator.hasNext();
|
||||
}
|
||||
|
||||
@Override
|
||||
public BusinessTransaction next() {
|
||||
return traceIterator.next().getValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove() {
|
||||
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,18 +3,24 @@ package com.nhn.hippo.web.vo;
|
||||
public class Trace {
|
||||
|
||||
private final String traceId;
|
||||
private final long time;
|
||||
private final long executionTime;
|
||||
private final long timestamp;
|
||||
|
||||
public Trace(String traceId, long time) {
|
||||
public Trace(String traceId, long executionTime, long timestamp) {
|
||||
this.traceId = traceId;
|
||||
this.time = time;
|
||||
this.executionTime = executionTime;
|
||||
this.timestamp = timestamp;
|
||||
}
|
||||
|
||||
public String getTraceId() {
|
||||
return traceId;
|
||||
}
|
||||
|
||||
public long getTime() {
|
||||
return time;
|
||||
public long getExecutionTime() {
|
||||
return executionTime;
|
||||
}
|
||||
|
||||
public long getTimestamp() {
|
||||
return timestamp;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user