diff --git a/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java b/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java index 185ce58a895a0899f86991124768c73a1e9c535b..c1b0bb6b32f71ea0769b7049efdb0501644b290e 100644 --- a/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java +++ b/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java @@ -113,7 +113,7 @@ class TraceReconstructionBuffer { // reconstruction final RuntimeStatisticInformation runtimeStatisticInformation = runtimeStatisticInformationList .get(0); - if (runtimeStatisticInformation.getAverage() < 0) { + if (!runtimeStatisticInformation.isInitialized()) { runtimeStatisticInformation.set(1, methodDuration, methodDuration * methodDuration); } diff --git a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationBuffer.java b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationBuffer.java index a87fe4cbea6784c421fdf3d1350ef5129e65806d..a40b2331ef1974878ce739133c43bbacfe09c052 100644 --- a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationBuffer.java +++ b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationBuffer.java @@ -64,23 +64,26 @@ class TracesSummarizationBuffer { .get(indexInHostList1); final RuntimeStatisticInformation runtime2 = runtimeList2.get(j); - if ((runtimeList1.size() == 1) && (runtimeList2.size() == 1)) { + if (!runtime2.isInitialized()) { runtime1.merge(runtime2, getRightObjectId(abstractBeforeEventRecord2)); } else { runtime1.merge(runtime2); } } else { - // not found, so insert and merge later + // not found, so insert later toAdd.put(host2, runtimeList2.get(j)); - System.out.println("not found..."); } } for (final Entry<HostApplicationMetaDataRecord, RuntimeStatisticInformation> entry : toAdd .entrySet()) { hostMetaList1.add(entry.getKey()); - runtimeList1.add(entry.getValue()); + final RuntimeStatisticInformation runtime2 = entry.getValue(); + if (!runtime2.isInitialized()) { + runtime2.makeAccumulator(getRightObjectId(abstractBeforeEventRecord2)); + } + runtimeList1.add(runtime2); } } else { final List<HostApplicationMetaDataRecord> hostMetaList1 = event diff --git a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java index bd7c981169210c77457a2ba2a647abb12370d51f..1a439f387ef57c7d9e809a2f8b6e9dc44d7022c5 100644 --- a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java +++ b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationFilter.java @@ -76,24 +76,28 @@ public class TracesSummarizationFilter extends AbstractFilter { traceAggregationBuffer.insertTrace(trace); } - public void makeTraceElementsAccumulator(final Trace trace) { + private void makeTraceElementsAccumulator(final Trace trace) { final List<AbstractEventRecord> traceEvents = trace.getTraceEvents(); for (final AbstractEventRecord event : traceEvents) { if (event instanceof AbstractBeforeEventRecord) { final AbstractBeforeEventRecord abstractBeforeEventRecord = (AbstractBeforeEventRecord) event; - int objectId = 0; - - if (abstractBeforeEventRecord instanceof AbstractBeforeOperationEventRecord) { - final AbstractBeforeOperationEventRecord abstractBeforeOperationEventRecord = (AbstractBeforeOperationEventRecord) abstractBeforeEventRecord; - objectId = abstractBeforeOperationEventRecord.getObjectId(); - } - final List<RuntimeStatisticInformation> runtimeStatisticInformationList = abstractBeforeEventRecord .getRuntimeStatisticInformationList(); if (runtimeStatisticInformationList.size() == 1) { - runtimeStatisticInformationList.get(0).makeAccumulator(objectId); + final RuntimeStatisticInformation runtimeStatisticInformation = runtimeStatisticInformationList + .get(0); + if (!runtimeStatisticInformation.isInitialized()) { + int objectId = 0; + + if (abstractBeforeEventRecord instanceof AbstractBeforeOperationEventRecord) { + final AbstractBeforeOperationEventRecord abstractBeforeOperationEventRecord = (AbstractBeforeOperationEventRecord) abstractBeforeEventRecord; + objectId = abstractBeforeOperationEventRecord.getObjectId(); + } + + runtimeStatisticInformation.makeAccumulator(objectId); + } } } }