[강운덕] [LUCYSUS-1744] arcus asynctrace부분 개발

git-svn-id: http://svn.bds.nhncorp.com/pe/hippo-tomcat-profiler/trunk@856 84d0f5b1-2673-498c-a247-62c4ff18d310
This commit is contained in:
Woonduk Kang
2012-11-13 05:00:44 +00:00
parent 6a63099ad0
commit b2c37b5242
19 changed files with 371 additions and 308 deletions
@@ -10,22 +10,24 @@ import java.util.concurrent.atomic.AtomicInteger;
/**
*
*/
public class GlobalCallTrace<T> {
public class GlobalCallTrace {
private static AtomicInteger timerId = new AtomicInteger(0);
private ConcurrentMap<Integer, T> trace = new ConcurrentHashMap<Integer, T>(32);
private ConcurrentMap<Integer, AsyncTrace> trace = new ConcurrentHashMap<Integer, AsyncTrace>(32);
private AtomicInteger idGenerator = new AtomicInteger(0);
private DataSender dataSender;
private Timer timer = new Timer("GlobalCallTrace-Timer-" + timerId.getAndIncrement(), true);
public int registerTraceObject(T target) {
public int registerTraceObject(AsyncTrace target) {
// datasender쪽 전달부분이 영 별로임.
target.setDataSender(this.dataSender);
int id = idGenerator.getAndIncrement();
trace.put(id, target);
return id;
}
public T removeTraceObject(int id) {
public AsyncTrace removeTraceObject(int id) {
return trace.get(id);
}