Skip to content
Snippets Groups Projects
Commit c3bab1dd authored by Christian Wulf's avatar Christian Wulf
Browse files

modularized code

parent b7442254
Branches
Tags
No related merge requests found
...@@ -20,10 +20,6 @@ import java.util.Map; ...@@ -20,10 +20,6 @@ import java.util.Map;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import kieker.analysis.plugin.filter.flow.TraceEventRecords;
import kieker.common.record.flow.IFlowRecord;
import kieker.common.record.flow.trace.AbstractTraceEvent;
import kieker.common.record.flow.trace.TraceMetadata;
import teetime.framework.core.AbstractFilter; import teetime.framework.core.AbstractFilter;
import teetime.framework.core.Context; import teetime.framework.core.Context;
import teetime.framework.core.IInputPort; import teetime.framework.core.IInputPort;
...@@ -31,6 +27,11 @@ import teetime.framework.core.IOutputPort; ...@@ -31,6 +27,11 @@ import teetime.framework.core.IOutputPort;
import teetime.util.concurrent.hashmap.ConcurrentHashMapWithDefault; import teetime.util.concurrent.hashmap.ConcurrentHashMapWithDefault;
import teetime.util.concurrent.hashmap.TraceBuffer; import teetime.util.concurrent.hashmap.TraceBuffer;
import kieker.analysis.plugin.filter.flow.TraceEventRecords;
import kieker.common.record.flow.IFlowRecord;
import kieker.common.record.flow.trace.AbstractTraceEvent;
import kieker.common.record.flow.trace.TraceMetadata;
/** /**
* @author Christian Wulf * @author Christian Wulf
* *
...@@ -50,7 +51,7 @@ public class TraceReconstructionFilter extends AbstractFilter<TraceReconstructio ...@@ -50,7 +51,7 @@ public class TraceReconstructionFilter extends AbstractFilter<TraceReconstructio
private boolean timeout; private boolean timeout;
private long maxEncounteredLoggingTimestamp = -1; private long maxEncounteredLoggingTimestamp = -1;
private Map<Long, TraceBuffer> traceId2trace = new ConcurrentHashMapWithDefault<Long, TraceBuffer>(new TraceBuffer()); private static final Map<Long, TraceBuffer> traceId2trace = new ConcurrentHashMapWithDefault<Long, TraceBuffer>(new TraceBuffer());
@Override @Override
protected boolean execute(final Context<TraceReconstructionFilter> context) { protected boolean execute(final Context<TraceReconstructionFilter> context) {
...@@ -96,10 +97,10 @@ public class TraceReconstructionFilter extends AbstractFilter<TraceReconstructio ...@@ -96,10 +97,10 @@ public class TraceReconstructionFilter extends AbstractFilter<TraceReconstructio
} }
private void putIfFinished(final Long traceId, final Context<TraceReconstructionFilter> context) { private void putIfFinished(final Long traceId, final Context<TraceReconstructionFilter> context) {
final TraceBuffer traceBuffer = this.traceId2trace.get(traceId); final TraceBuffer traceBuffer = TraceReconstructionFilter.traceId2trace.get(traceId);
if (traceBuffer.isFinished()) { if (traceBuffer.isFinished()) {
synchronized (this) { // has to be synchronized because of timeout cleanup synchronized (this) { // has to be synchronized because of timeout cleanup
this.traceId2trace.remove(traceId); TraceReconstructionFilter.traceId2trace.remove(traceId);
} }
this.put(traceBuffer, context); this.put(traceBuffer, context);
} }
...@@ -109,12 +110,12 @@ public class TraceReconstructionFilter extends AbstractFilter<TraceReconstructio ...@@ -109,12 +110,12 @@ public class TraceReconstructionFilter extends AbstractFilter<TraceReconstructio
Long traceId = null; Long traceId = null;
if (record instanceof TraceMetadata) { if (record instanceof TraceMetadata) {
traceId = ((TraceMetadata) record).getTraceId(); traceId = ((TraceMetadata) record).getTraceId();
final TraceBuffer traceBuffer = this.traceId2trace.get(traceId); final TraceBuffer traceBuffer = TraceReconstructionFilter.traceId2trace.get(traceId);
traceBuffer.setTrace((TraceMetadata) record); traceBuffer.setTrace((TraceMetadata) record);
} else if (record instanceof AbstractTraceEvent) { } else if (record instanceof AbstractTraceEvent) {
traceId = ((AbstractTraceEvent) record).getTraceId(); traceId = ((AbstractTraceEvent) record).getTraceId();
final TraceBuffer traceBuffer = this.traceId2trace.get(traceId); final TraceBuffer traceBuffer = TraceReconstructionFilter.traceId2trace.get(traceId);
traceBuffer.insertEvent((AbstractTraceEvent) record); traceBuffer.insertEvent((AbstractTraceEvent) record);
} }
...@@ -132,7 +133,7 @@ public class TraceReconstructionFilter extends AbstractFilter<TraceReconstructio ...@@ -132,7 +133,7 @@ public class TraceReconstructionFilter extends AbstractFilter<TraceReconstructio
final long duration = timestamp - this.maxTraceDuration; final long duration = timestamp - this.maxTraceDuration;
final long traceTimeout = timestamp - this.maxTraceTimeout; final long traceTimeout = timestamp - this.maxTraceTimeout;
for (final Iterator<Entry<Long, TraceBuffer>> iterator = this.traceId2trace.entrySet().iterator(); iterator.hasNext();) { for (final Iterator<Entry<Long, TraceBuffer>> iterator = TraceReconstructionFilter.traceId2trace.entrySet().iterator(); iterator.hasNext();) {
final TraceBuffer traceBuffer = iterator.next().getValue(); final TraceBuffer traceBuffer = iterator.next().getValue();
if ((traceBuffer.getMaxLoggingTimestamp() <= traceTimeout) // long time no see if ((traceBuffer.getMaxLoggingTimestamp() <= traceTimeout) // long time no see
|| (traceBuffer.getMinLoggingTimestamp() <= duration)) { // max duration is gone || (traceBuffer.getMinLoggingTimestamp() <= duration)) { // max duration is gone
...@@ -180,12 +181,12 @@ public class TraceReconstructionFilter extends AbstractFilter<TraceReconstructio ...@@ -180,12 +181,12 @@ public class TraceReconstructionFilter extends AbstractFilter<TraceReconstructio
this.maxEncounteredLoggingTimestamp = maxEncounteredLoggingTimestamp; this.maxEncounteredLoggingTimestamp = maxEncounteredLoggingTimestamp;
} }
public Map<Long, TraceBuffer> getTraceId2trace() { // public Map<Long, TraceBuffer> getTraceId2trace() {
return this.traceId2trace; // return TraceReconstructionFilter.traceId2trace;
} // }
//
public void setTraceId2trace(final Map<Long, TraceBuffer> traceId2trace) { // public void setTraceId2trace(final Map<Long, TraceBuffer> traceId2trace) {
this.traceId2trace = traceId2trace; // TraceReconstructionFilter.traceId2trace = traceId2trace;
} // }
} }
...@@ -89,7 +89,8 @@ public class KiekerHashMap { ...@@ -89,7 +89,8 @@ public class KiekerHashMap {
public final String get(final String value) { public final String get(final String value) {
final int hash = KiekerHashMap.hash(value); final int hash = KiekerHashMap.hash(value);
return this.segments[(hash >>> this.segmentShift) & this.segmentMask].get(value, hash); Segment segment = this.segments[(hash >>> this.segmentShift) & this.segmentMask];
return segment.get(value, hash);
} }
// ---------------- Inner Classes -------------- // ---------------- Inner Classes --------------
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment