Commit bd2c7af7 authored by Karsten Loesing's avatar Karsten Loesing
Browse files

Fix off-by-one bug in writing history documents.

When we consider a history interval from start to end, we really mean
the interval [start, end[. Fixing a few off-by-one bugs in the code.
parent 203d5d88
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -111,7 +111,7 @@ public class BandwidthDocumentWriter implements DocumentWriter {
      long totalBandwidth = 0L;
      for (long[] v : history.values()) {
        long endMillis = v[1];
        if (endMillis < intervalStartMillis) {
        if (endMillis <= intervalStartMillis) {
          continue;
        } else if (endMillis > graphEndMillis) {
          break;
@@ -124,7 +124,7 @@ public class BandwidthDocumentWriter implements DocumentWriter {
          continue;
        }
        while ((intervalStartMillis / dataPointInterval)
            != (endMillis / dataPointInterval)) {
            != ((endMillis - 1L) / dataPointInterval)) {
          dataPoints.add(totalMillis * 5L < dataPointInterval
              ? -1L : (totalBandwidth * DateTimeHelper.ONE_SECOND)
              / totalMillis);
+2 −2
Original line number Diff line number Diff line
@@ -140,13 +140,13 @@ public class ClientsDocumentWriter implements DocumentWriter {
    long millis = 0L;
    double responses = 0.0;
    for (ClientsHistory hist : history) {
      if (hist.getEndMillis() < intervalStartMillis) {
      if (hist.getEndMillis() <= intervalStartMillis) {
        continue;
      } else if (hist.getEndMillis() > graphEndMillis) {
        break;
      }
      while ((intervalStartMillis / dataPointInterval)
          != (hist.getEndMillis() / dataPointInterval)) {
          != ((hist.getEndMillis() - 1L) / dataPointInterval)) {
        dataPoints.add(millis * 2L < dataPointInterval
            ? -1.0 : responses * ((double) DateTimeHelper.ONE_DAY)
            / (((double) millis) * 10.0));
+2 −2
Original line number Diff line number Diff line
@@ -175,7 +175,7 @@ public class UptimeDocumentWriter implements DocumentWriter {
      }
      long histEndMillis = hist.getStartMillis() + DateTimeHelper.ONE_HOUR
          * hist.getUptimeHours();
      if (histEndMillis < intervalStartMillis) {
      if (histEndMillis <= intervalStartMillis) {
        continue;
      } else if (histEndMillis > graphEndMillis) {
        histEndMillis = graphEndMillis;
@@ -218,7 +218,7 @@ public class UptimeDocumentWriter implements DocumentWriter {
      }
      long histEndMillis = hist.getStartMillis() + DateTimeHelper.ONE_HOUR
          * hist.getUptimeHours();
      if (histEndMillis < intervalStartMillis) {
      if (histEndMillis <= intervalStartMillis) {
        continue;
      } else if (histEndMillis > graphEndMillis) {
        histEndMillis = graphEndMillis;
+2 −2
Original line number Diff line number Diff line
@@ -132,13 +132,13 @@ public class WeightsDocumentWriter implements DocumentWriter {
      long startMillis = e.getKey()[0];
      long endMillis = e.getKey()[1];
      double weight = e.getValue()[graphTypeIndex];
      if (endMillis < intervalStartMillis) {
      if (endMillis <= intervalStartMillis) {
        continue;
      } else if (endMillis > graphEndMillis) {
        break;
      }
      while ((intervalStartMillis / dataPointInterval)
          != (endMillis / dataPointInterval)) {
          != ((endMillis - 1L) / dataPointInterval)) {
        dataPoints.add(totalMillis * 5L < dataPointInterval
            ? -1.0 : totalWeightTimesMillis / (double) totalMillis);
        totalWeightTimesMillis = 0.0;