diff --git a/src/explorviz/hpc_monitoring/filter/counting/CountingThroughputFilter.java b/src/explorviz/hpc_monitoring/filter/counting/CountingThroughputFilter.java index 7f4125e1f9f5f74efe3a15a98bb3c371641c3149..899d55d9a98b680a5d02f134392ab33590a6233a 100644 --- a/src/explorviz/hpc_monitoring/filter/counting/CountingThroughputFilter.java +++ b/src/explorviz/hpc_monitoring/filter/counting/CountingThroughputFilter.java @@ -1,52 +1,52 @@ package explorviz.hpc_monitoring.filter.counting; public final class CountingThroughputFilter { - private volatile long firstIntervalStart = -1; + private volatile long firstIntervalStart = -1; - private final long intervalSize; + private final long intervalSize; - private int currentCountForCurrentInterval = 0; + private int currentCountForCurrentInterval = 0; - private volatile long firstTimestampInCurrentInterval = -1; - private volatile long lastTimestampInCurrentInterval = -1; - private final String beforeOut; + private volatile long firstTimestampInCurrentInterval = -1; + private volatile long lastTimestampInCurrentInterval = -1; + private final String beforeOut; - public CountingThroughputFilter(final String beforeOut) { - this.beforeOut = beforeOut; - intervalSize = 1 * 1000 * 1000; - } + public CountingThroughputFilter(final String beforeOut) { + this.beforeOut = beforeOut; + intervalSize = 1 * 1000 * 1000 * 1000; + } - private void processEvent(final Object event, final long currentTime) { - final long startOfTimestampsInterval = computeFirstTimestampInInterval(currentTime); - final long endOfTimestampsInterval = computeLastTimestampInInterval(currentTime); + private void processEvent(final Object event, final long currentTime) { + final long startOfTimestampsInterval = computeFirstTimestampInInterval(currentTime); + final long endOfTimestampsInterval = computeLastTimestampInInterval(currentTime); - if (endOfTimestampsInterval > lastTimestampInCurrentInterval) { - if (firstTimestampInCurrentInterval >= 0) { - final long currentCount = currentCountForCurrentInterval; - System.out.println(beforeOut + ": " + currentCount); - } + if (endOfTimestampsInterval > lastTimestampInCurrentInterval) { + if (firstTimestampInCurrentInterval >= 0) { + final long currentCount = currentCountForCurrentInterval; + System.out.println(beforeOut + ": " + currentCount); + } - firstTimestampInCurrentInterval = startOfTimestampsInterval; - lastTimestampInCurrentInterval = endOfTimestampsInterval; - currentCountForCurrentInterval = 0; - } + firstTimestampInCurrentInterval = startOfTimestampsInterval; + lastTimestampInCurrentInterval = endOfTimestampsInterval; + currentCountForCurrentInterval = 0; + } - currentCountForCurrentInterval++; - } + currentCountForCurrentInterval++; + } - public final void inputObjects(final Object object) { - processEvent(object, System.currentTimeMillis() * 1000); - } + public final void inputObjects(final Object object) { + processEvent(object, System.currentTimeMillis() * 1000 * 1000); + } - private long computeFirstTimestampInInterval(final long timestamp) { - if (firstIntervalStart == -1) { - firstIntervalStart = timestamp; - } + private long computeFirstTimestampInInterval(final long timestamp) { + if (firstIntervalStart == -1) { + firstIntervalStart = timestamp; + } - return ((timestamp / intervalSize) * intervalSize); - } + return ((timestamp / intervalSize) * intervalSize); + } - private long computeLastTimestampInInterval(final long timestamp) { - return ((((timestamp / intervalSize) + 1) * intervalSize) - 1); - } + private long computeLastTimestampInInterval(final long timestamp) { + return ((((timestamp / intervalSize) + 1) * intervalSize) - 1); + } } diff --git a/src/explorviz/hpc_monitoring/filter/reconstruction/TraceReconstructionFilter.java b/src/explorviz/hpc_monitoring/filter/reconstruction/TraceReconstructionFilter.java index 09aa8a610e16d09bdae44e02fb7605cb71ee5ac9..3aaa1f0cd9b1acffa0546840e47bb6f843fd7124 100644 --- a/src/explorviz/hpc_monitoring/filter/reconstruction/TraceReconstructionFilter.java +++ b/src/explorviz/hpc_monitoring/filter/reconstruction/TraceReconstructionFilter.java @@ -40,12 +40,12 @@ public final class TraceReconstructionFilter implements RecordEvent.EVENT_FACTORY, 16384, exec); final EventHandler<RecordEvent>[] eventHandlers = new EventHandler[1]; - eventHandlers[0] = new TracePatternSummarizationFilter(5 * 1000 * 1000, - endReceiver); + eventHandlers[0] = new TracePatternSummarizationFilter( + 2 * 1000 * 1000 * 1000, endReceiver); disruptor.handleEventsWith(eventHandlers); ringBuffer = disruptor.start(); - new TimeReader(1 * 1000 * 1000, this).start(); + new TimeReader(2 * 1000, this).start(); } @Override diff --git a/src/explorviz/hpc_monitoring/filter/reduction/TracePatternSummarizationFilter.java b/src/explorviz/hpc_monitoring/filter/reduction/TracePatternSummarizationFilter.java index e32960f1fe558fa9c8f735430a46e4e6847aa110..7cde13d8fc81413d562cdbe8f0b293ba5ca74606 100644 --- a/src/explorviz/hpc_monitoring/filter/reduction/TracePatternSummarizationFilter.java +++ b/src/explorviz/hpc_monitoring/filter/reduction/TracePatternSummarizationFilter.java @@ -47,7 +47,7 @@ public class TracePatternSummarizationFilter implements disruptor.handleEventsWith(eventHandlers); } ringBuffer = disruptor.start(); - new TimeReader(1 * 1000 * 1000, this).start(); + new TimeReader(1 * 1000, this).start(); } @Override diff --git a/src/explorviz/hpc_monitoring/reader/MessageDistributer.java b/src/explorviz/hpc_monitoring/reader/MessageDistributer.java index 3d88fd167e3285346eabeccbea55c9ac1047ddab..28be0ee66a007907a0393336d16adf2aef50ec31 100644 --- a/src/explorviz/hpc_monitoring/reader/MessageDistributer.java +++ b/src/explorviz/hpc_monitoring/reader/MessageDistributer.java @@ -36,8 +36,8 @@ public class MessageDistributer implements EventHandler<ByteArrayEvent> { RecordEvent.EVENT_FACTORY, 32768, exec); final EventHandler<RecordEvent>[] eventHandlers = new EventHandler[1]; - eventHandlers[0] = new TraceReconstructionFilter(5 * 1000 * 1000, - endReceiver); + eventHandlers[0] = new TraceReconstructionFilter( + 1 * 1000 * 1000 * 1000, endReceiver); disruptor.handleEventsWith(eventHandlers); ringBuffer = disruptor.start(); } diff --git a/src/explorviz/hpc_monitoring/reader/TimeReader.java b/src/explorviz/hpc_monitoring/reader/TimeReader.java index cdfba27b0453c13a7e3b880d737e7304127d0245..19b2897a0bb09a393ac8c78e13d5a0da3fee0616 100644 --- a/src/explorviz/hpc_monitoring/reader/TimeReader.java +++ b/src/explorviz/hpc_monitoring/reader/TimeReader.java @@ -11,9 +11,9 @@ public final class TimeReader { private final IPeriodicTimeSignalReceiver receiver; - public TimeReader(final long periodInNanoSec, + public TimeReader(final long periodInMilliSec, final IPeriodicTimeSignalReceiver receiver) { - period = periodInNanoSec; + period = periodInMilliSec; this.receiver = receiver; executorService = new ScheduledThreadPoolExecutor(1); } @@ -24,7 +24,7 @@ public final class TimeReader { public void run() { sendTimestampEvent(); } - }, 0, period, TimeUnit.NANOSECONDS); + }, 0, period, TimeUnit.MILLISECONDS); } protected void sendTimestampEvent() { diff --git a/src/explorviz/hpc_monitoring/record/RuntimeStatisticInformation.java b/src/explorviz/hpc_monitoring/record/RuntimeStatisticInformation.java index 2d3a7b50d0838db9567d4c4aaba1791262e8e029..b87c75ebf64a6c385c5492a08cc41d7308e3a352 100644 --- a/src/explorviz/hpc_monitoring/record/RuntimeStatisticInformation.java +++ b/src/explorviz/hpc_monitoring/record/RuntimeStatisticInformation.java @@ -28,94 +28,92 @@ import java.io.Serializable; */ public final class RuntimeStatisticInformation implements Serializable { - private static final long serialVersionUID = -1628273045707598143L; - - private long count = 0; - private long min = Long.MAX_VALUE; - private long max = Long.MIN_VALUE; - - private double sum; - private double squareSum; - - public RuntimeStatisticInformation(final long runtime) { - set(runtime); - } - - public long getCount() { - return count; - } - - public long getMin() { - return min; - } - - public long getMax() { - return max; - } - - public long getAvg() { - if (count > 0) { - return (long) (sum / count); - } - else { - return -1; - } - - } - - public long getStandardDeviation() { - if (count <= 2) { - return -1; - } - else { - final double variance = (squareSum - ((sum * sum) / count)) - / (count - 1); - return (long) Math.sqrt(variance); - } - - } - - public double getSum() { - return sum; - } - - public double getSquareSum() { - return squareSum; - } - - public void insert(final long data) { - - count++; - final double dataDouble = data; - sum += dataDouble; - squareSum += dataDouble * dataDouble; - min = Math.min(data, min); - max = Math.max(data, max); - - } - - public void set(final long data) { - count = 1; - // final double dataDouble = data; - // sum = dataDouble; - // squareSum = dataDouble * dataDouble; - // max = data; - // min = data; - } - - public void merge(final RuntimeStatisticInformation statistics) { - - count += statistics.getCount(); - // sum += statistics.getSum(); - // squareSum += statistics.getSquareSum(); - // min = Math.min(statistics.getMin(), min); - // max = Math.max(statistics.getMax(), max); - - } - - @Override - public String toString() { - return count + ":" + min + ":" + max + ":" + sum + ":" + squareSum; - } + private static final long serialVersionUID = -1628273045707598143L; + + private int count = 0; + private long min = Long.MAX_VALUE; + private long max = Long.MIN_VALUE; + + private double sum; + private double squareSum; + + public RuntimeStatisticInformation(final long runtime) { + set(runtime); + } + + public int getCount() { + return count; + } + + public long getMin() { + return min; + } + + public long getMax() { + return max; + } + + public long getAvg() { + if (count > 0) { + return (long) (sum / count); + } else { + return -1; + } + + } + + public long getStandardDeviation() { + if (count <= 2) { + return -1; + } else { + final double variance = (squareSum - ((sum * sum) / count)) + / (count - 1); + return (long) Math.sqrt(variance); + } + + } + + public double getSum() { + return sum; + } + + public double getSquareSum() { + return squareSum; + } + + public void insert(final long data) { + + count++; + final double dataDouble = data; + sum += dataDouble; + squareSum += dataDouble * dataDouble; + min = Math.min(data, min); + max = Math.max(data, max); + + } + + public void set(final long data) { + count = 1; + // final double dataDouble = data; + // sum = dataDouble; + // squareSum = dataDouble * dataDouble; + // max = data; + // min = data; + } + + public void merge(final RuntimeStatisticInformation statistics) { + + count += statistics.getCount(); + // sum += statistics.getSum(); + // squareSum += statistics.getSquareSum(); + // min = Math.min(statistics.getMin(), min); + // max = Math.max(statistics.getMax(), max); + + } + + @Override + public String toString() { + return count + ":" + min + ":" + max + ":" + sum + ":" + squareSum; + } }