Skip to content
Snippets Groups Projects
Commit d68fc103 authored by Florian Fittkau's avatar Florian Fittkau
Browse files

pipeline now working again

parent 96ea03b0
No related branches found
No related tags found
No related merge requests found
...@@ -46,8 +46,8 @@ public class TraceBuffer { ...@@ -46,8 +46,8 @@ public class TraceBuffer {
} }
if (!events.add(event)) { if (!events.add(event)) {
// System.out.println("Duplicate entry for orderIndex " + orderIndex System.out.println("Duplicate entry for orderIndex " + orderIndex
// + " with traceId " + traceMetadata.getTraceId()); + " with traceId " + event.getTraceId());
damaged = true; damaged = true;
} }
} }
...@@ -69,8 +69,6 @@ public class TraceBuffer { ...@@ -69,8 +69,6 @@ public class TraceBuffer {
public void setTrace(final HostApplicationMetadata trace) { public void setTrace(final HostApplicationMetadata trace) {
if (traceMetadata != null) { if (traceMetadata != null) {
// System.out.println("Duplicate Trace entry for traceId "
// + trace.getTraceId());
damaged = true; damaged = true;
return; return;
} }
...@@ -86,7 +84,7 @@ public class TraceBuffer { ...@@ -86,7 +84,7 @@ public class TraceBuffer {
|| (openEvents != 0) || (traceMetadata == null) || damaged); || (openEvents != 0) || (traceMetadata == null) || damaged);
} }
public final Trace toTrace() { // TODO still slow? public final Trace toTrace() {
final AbstractOperationEvent[] arrayEvents = new AbstractOperationEvent[events final AbstractOperationEvent[] arrayEvents = new AbstractOperationEvent[events
.size()]; .size()];
final Iterator<AbstractOperationEvent> iterator = events.iterator(); final Iterator<AbstractOperationEvent> iterator = events.iterator();
......
...@@ -40,12 +40,12 @@ public final class TraceReconstructionFilter implements ...@@ -40,12 +40,12 @@ public final class TraceReconstructionFilter implements
RecordEvent.EVENT_FACTORY, 16384, exec); RecordEvent.EVENT_FACTORY, 16384, exec);
final EventHandler<RecordEvent>[] eventHandlers = new EventHandler[1]; final EventHandler<RecordEvent>[] eventHandlers = new EventHandler[1];
eventHandlers[0] = new TracePatternSummarizationFilter(2 * 1000 * 1000, eventHandlers[0] = new TracePatternSummarizationFilter(1 * 1000,
endReceiver); endReceiver);
disruptor.handleEventsWith(eventHandlers); disruptor.handleEventsWith(eventHandlers);
ringBuffer = disruptor.start(); ringBuffer = disruptor.start();
new TimeReader(2 * 1000, this).start(); new TimeReader(1 * 1000, this).start();
} }
@Override @Override
...@@ -67,14 +67,14 @@ public final class TraceReconstructionFilter implements ...@@ -67,14 +67,14 @@ public final class TraceReconstructionFilter implements
private void sendOutValidTrace(final Trace trace) { private void sendOutValidTrace(final Trace trace) {
counter.inputObjects(trace); counter.inputObjects(trace);
// putInRingBuffer(trace); putInRingBuffer(trace);
} }
private void sendOutInvalidTrace(final Trace trace) { private void sendOutInvalidTrace(final Trace trace) {
// counter.inputObjects(trace); // counter.inputObjects(trace);
// putInRingBuffer(trace); // TODO // putInRingBuffer(trace); // TODO
// System.out.println("Invalid trace: " System.out.println("Invalid trace: "
// + trace.getTraceMetadata().getTraceId()); + trace.getTraceEvents()[0].getTraceId());
} }
private void putInRingBuffer(final IRecord record) { private void putInRingBuffer(final IRecord record) {
...@@ -88,17 +88,12 @@ public final class TraceReconstructionFilter implements ...@@ -88,17 +88,12 @@ public final class TraceReconstructionFilter implements
public void onEvent(final RecordEvent event, final long sequence, public void onEvent(final RecordEvent event, final long sequence,
final boolean endOfBatch) throws Exception { final boolean endOfBatch) throws Exception {
final IRecord record = event.getValue(); final IRecord record = event.getValue();
if (record instanceof HostApplicationMetadata) { if (record instanceof AbstractOperationEvent) {
final HostApplicationMetadata traceMetadata = ((HostApplicationMetadata) record);
// final long traceId = traceMetadata.getTraceId();
// final TraceBuffer traceBuffer = getBufferForTraceId(traceId);
// traceBuffer.setTrace(traceMetadata);
} else if (record instanceof AbstractOperationEvent) {
final AbstractOperationEvent abstractOperationEvent = ((AbstractOperationEvent) record); final AbstractOperationEvent abstractOperationEvent = ((AbstractOperationEvent) record);
final long traceId = abstractOperationEvent.getTraceId(); final long traceId = abstractOperationEvent.getTraceId();
final TraceBuffer traceBuffer = getBufferForTraceId(traceId); final TraceBuffer traceBuffer = getBufferForTraceId(traceId,
event.getMetadata());
traceBuffer.insertEvent(abstractOperationEvent); traceBuffer.insertEvent(abstractOperationEvent);
if (traceBuffer.isFinished()) { if (traceBuffer.isFinished()) {
...@@ -108,10 +103,12 @@ public final class TraceReconstructionFilter implements ...@@ -108,10 +103,12 @@ public final class TraceReconstructionFilter implements
} }
} }
private TraceBuffer getBufferForTraceId(final long traceId) { private TraceBuffer getBufferForTraceId(final long traceId,
final HostApplicationMetadata metadata) {
TraceBuffer traceBuffer = traceId2trace.get(traceId); TraceBuffer traceBuffer = traceId2trace.get(traceId);
if (traceBuffer == null) { if (traceBuffer == null) {
traceBuffer = new TraceBuffer(); traceBuffer = new TraceBuffer();
traceBuffer.setTrace(metadata);
traceId2trace.put(traceId, traceBuffer); traceId2trace.put(traceId, traceBuffer);
} }
return traceBuffer; return traceBuffer;
......
...@@ -95,7 +95,7 @@ public class TracePatternSummarizationFilter implements ...@@ -95,7 +95,7 @@ public class TracePatternSummarizationFilter implements
TraceAggregationBuffer traceAggregationBuffer = trace2buffer.get(trace); TraceAggregationBuffer traceAggregationBuffer = trace2buffer.get(trace);
if (traceAggregationBuffer == null) { if (traceAggregationBuffer == null) {
traceAggregationBuffer = new TraceAggregationBuffer( traceAggregationBuffer = new TraceAggregationBuffer(
System.nanoTime()); System.currentTimeMillis());
trace2buffer.put(trace, traceAggregationBuffer); trace2buffer.put(trace, traceAggregationBuffer);
} }
traceAggregationBuffer.insertTrace(trace); traceAggregationBuffer.insertTrace(trace);
......
...@@ -97,11 +97,11 @@ public final class TCPReader { ...@@ -97,11 +97,11 @@ public final class TCPReader {
private void putInRingBuffer(final IRecord message) { private void putInRingBuffer(final IRecord message) {
counter.inputObjects(message); counter.inputObjects(message);
// System.out.println(message.toString()); final long hiseq = ringBuffer.next();
// final long hiseq = ringBuffer.next(); final RecordEvent valueEvent = ringBuffer.get(hiseq);
// final RecordEvent valueEvent = ringBuffer.get(hiseq); valueEvent.setValue(message);
// valueEvent.setValue(message); valueEvent.setMetadata(hostApplicationMetadata);
// ringBuffer.publish(hiseq); ringBuffer.publish(hiseq);
} }
public void terminate(final boolean error) { public void terminate(final boolean error) {
...@@ -165,17 +165,16 @@ public final class TCPReader { ...@@ -165,17 +165,16 @@ public final class TCPReader {
final String hostname = getStringFromRegistry(hostnameId); final String hostname = getStringFromRegistry(hostnameId);
final String application = getStringFromRegistry(applicationId); final String application = getStringFromRegistry(applicationId);
// if ((hostname != null) && (application != null)) { if ((hostname != null) && (application != null)) {
hostApplicationMetadata = new HostApplicationMetadata(hostname, hostApplicationMetadata = new HostApplicationMetadata(hostname,
application); application);
// } else { } else {
// final byte[] message = new final byte[] message = new byte[HostApplicationMetadata.BYTE_LENGTH_WITH_CLAZZ_ID];
// byte[TraceMetadata.BYTE_LENGTH_WITH_CLAZZ_ID]; buffer.position(buffer.position()
// System.arraycopy(b, offset - HostApplicationMetadata.BYTE_LENGTH_WITH_CLAZZ_ID);
// - TraceMetadata.BYTE_LENGTH_WITH_CLAZZ_ID, message, 0, buffer.get(message);
// TraceMetadata.BYTE_LENGTH_WITH_CLAZZ_ID); putInWaitingMessages(message);
// putInWaitingMessages(message); }
// }
} }
private final void readInBeforeOperationEvent(final ByteBuffer buffer) { private final void readInBeforeOperationEvent(final ByteBuffer buffer) {
...@@ -186,17 +185,16 @@ public final class TCPReader { ...@@ -186,17 +185,16 @@ public final class TCPReader {
final String operation = getStringFromRegistry(operationId); final String operation = getStringFromRegistry(operationId);
// if (operation != null) { if (operation != null) {
putInRingBuffer(new BeforeOperationEvent(timestamp, traceId, putInRingBuffer(new BeforeOperationEvent(timestamp, traceId,
orderIndex, operation)); orderIndex, operation));
// } else { } else {
// final byte[] message = new final byte[] message = new byte[BeforeOperationEvent.BYTE_LENGTH_WITH_CLAZZ_ID];
// byte[BeforeOperationEvent.BYTE_LENGTH_WITH_CLAZZ_ID]; buffer.position(buffer.position()
// System.arraycopy(b, offset - BeforeOperationEvent.BYTE_LENGTH_WITH_CLAZZ_ID);
// - BeforeOperationEvent.BYTE_LENGTH_WITH_CLAZZ_ID, message, buffer.get(message);
// 0, BeforeOperationEvent.BYTE_LENGTH_WITH_CLAZZ_ID); putInWaitingMessages(message);
// putInWaitingMessages(message); }
// }
} }
private final void readInAfterFailedOperationEvent(final ByteBuffer buffer) { private final void readInAfterFailedOperationEvent(final ByteBuffer buffer) {
...@@ -209,18 +207,16 @@ public final class TCPReader { ...@@ -209,18 +207,16 @@ public final class TCPReader {
final String operation = getStringFromRegistry(operationId); final String operation = getStringFromRegistry(operationId);
final String cause = getStringFromRegistry(causeId); final String cause = getStringFromRegistry(causeId);
// if ((operation != null) && (cause != null)) { if ((operation != null) && (cause != null)) {
putInRingBuffer(new AfterFailedOperationEvent(timestamp, traceId, putInRingBuffer(new AfterFailedOperationEvent(timestamp, traceId,
orderIndex, operation, cause)); orderIndex, operation, cause));
// } else { } else {
// final byte[] message = new final byte[] message = new byte[AfterFailedOperationEvent.BYTE_LENGTH_WITH_CLAZZ_ID];
// byte[AfterFailedOperationEvent.BYTE_LENGTH_WITH_CLAZZ_ID]; buffer.position(buffer.position()
// System.arraycopy(b, offset - AfterFailedOperationEvent.BYTE_LENGTH_WITH_CLAZZ_ID);
// - AfterFailedOperationEvent.BYTE_LENGTH_WITH_CLAZZ_ID, buffer.get(message);
// message, 0, putInWaitingMessages(message);
// AfterFailedOperationEvent.BYTE_LENGTH_WITH_CLAZZ_ID); }
// putInWaitingMessages(message);
// }
} }
private final void readInAfterOperationEvent(final ByteBuffer buffer) { private final void readInAfterOperationEvent(final ByteBuffer buffer) {
...@@ -230,17 +226,16 @@ public final class TCPReader { ...@@ -230,17 +226,16 @@ public final class TCPReader {
final int operationId = buffer.getInt(); final int operationId = buffer.getInt();
final String operation = getStringFromRegistry(operationId); final String operation = getStringFromRegistry(operationId);
// if (operation != null) { if (operation != null) {
putInRingBuffer(new AfterOperationEvent(timestamp, traceId, orderIndex, putInRingBuffer(new AfterOperationEvent(timestamp, traceId,
operation)); orderIndex, operation));
// } else { } else {
// final byte[] message = new final byte[] message = new byte[AfterOperationEvent.BYTE_LENGTH_WITH_CLAZZ_ID];
// byte[AfterOperationEvent.BYTE_LENGTH_WITH_CLAZZ_ID]; buffer.position(buffer.position()
// System.arraycopy(b, offset - AfterOperationEvent.BYTE_LENGTH_WITH_CLAZZ_ID);
// - AfterOperationEvent.BYTE_LENGTH_WITH_CLAZZ_ID, message, buffer.get(message);
// 0, AfterOperationEvent.BYTE_LENGTH_WITH_CLAZZ_ID); putInWaitingMessages(message);
// putInWaitingMessages(message); }
// }
} }
...@@ -255,26 +250,26 @@ public final class TCPReader { ...@@ -255,26 +250,26 @@ public final class TCPReader {
} }
waitingForStringMessages.clear(); waitingForStringMessages.clear();
// for (final byte[] waitingMessage : localWaitingList) { for (final byte[] waitingMessage : localWaitingList) {
// final int waitingMessageClazzId = UnsafeBits.getInt(waitingMessage, final ByteBuffer buffer = ByteBuffer.wrap(waitingMessage);
// 0); final byte waitingMessageClazzId = buffer.get();
// switch (waitingMessageClazzId) { switch (waitingMessageClazzId) {
// case TraceMetadata.CLAZZ_ID: case HostApplicationMetadata.CLAZZ_ID:
// readInTraceMetadata(waitingMessage, 4); readInTraceMetadata(buffer);
// break; break;
// case BeforeOperationEvent.CLAZZ_ID: case BeforeOperationEvent.CLAZZ_ID:
// readInBeforeOperationEvent(waitingMessage, 4); readInBeforeOperationEvent(buffer);
// break; break;
// case AfterFailedOperationEvent.CLAZZ_ID: case AfterFailedOperationEvent.CLAZZ_ID:
// readInAfterFailedOperationEvent(waitingMessage, 4); readInAfterFailedOperationEvent(buffer);
// break; break;
// case AfterOperationEvent.CLAZZ_ID: case AfterOperationEvent.CLAZZ_ID:
// readInAfterOperationEvent(waitingMessage, 4); readInAfterOperationEvent(buffer);
// break; break;
// default: default:
// break; break;
// } }
// } }
} }
public void addToRegistry(final int key, final String value) { public void addToRegistry(final int key, final String value) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment