diff --git a/src/main/java/com/hpcloud/mon/infrastructure/persistence/AlarmStateHistoryInfluxDBRepositoryImpl.java b/src/main/java/com/hpcloud/mon/infrastructure/persistence/AlarmStateHistoryInfluxDBRepositoryImpl.java index c747071..fbf8a8d 100644 --- a/src/main/java/com/hpcloud/mon/infrastructure/persistence/AlarmStateHistoryInfluxDBRepositoryImpl.java +++ b/src/main/java/com/hpcloud/mon/infrastructure/persistence/AlarmStateHistoryInfluxDBRepositoryImpl.java @@ -136,7 +136,7 @@ public class AlarmStateHistoryInfluxDBRepositoryImpl implements AlarmStateHistor logger.debug("Query string: {}", query); List result = this.influxDB.Query(this.config.influxDB.getName(), query, - TimeUnit.SECONDS); + TimeUnit.MILLISECONDS); List alarmStateHistoryList = new LinkedList<>(); @@ -147,8 +147,8 @@ public class AlarmStateHistoryInfluxDBRepositoryImpl implements AlarmStateHistor AlarmStateHistory alarmStateHistory = new AlarmStateHistory(); // Time is always in position 0. - alarmStateHistory.setTimestamp(new DateTime(new Long((Integer) valObjArryArry[i][0]) * - 1000, DateTimeZone.UTC)); + Double timeDouble = (Double) valObjArryArry[i][0]; + alarmStateHistory.setTimestamp(new DateTime(timeDouble.longValue(), DateTimeZone.UTC)); // Sequence_number is always in position 1. alarmStateHistory.setAlarmId((String) valObjArryArry[i][2]); alarmStateHistory.setNewState(AlarmState.valueOf((String) valObjArryArry[i][3])); diff --git a/src/main/java/com/hpcloud/mon/infrastructure/persistence/MeasurementInfluxDBRepositoryImpl.java b/src/main/java/com/hpcloud/mon/infrastructure/persistence/MeasurementInfluxDBRepositoryImpl.java index a754caf..4b8ea7a 100644 --- a/src/main/java/com/hpcloud/mon/infrastructure/persistence/MeasurementInfluxDBRepositoryImpl.java +++ b/src/main/java/com/hpcloud/mon/infrastructure/persistence/MeasurementInfluxDBRepositoryImpl.java @@ -29,6 +29,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.annotation.Nullable; +import java.math.BigDecimal; +import java.text.DecimalFormat; import java.util.*; import java.util.concurrent.TimeUnit; @@ -67,7 +69,7 @@ public class MeasurementInfluxDBRepositoryImpl implements MeasurementRepository Measurements measurements = new Measurements(); measurements.setName(name); - measurements.setDimensions(dimensions); + measurements.setDimensions(dimensions == null ? new HashMap() : dimensions); List valObjArryList = new LinkedList<>(); for (Serie serie : result) { Object[][] valObjArry = serie.getPoints(); @@ -76,12 +78,12 @@ public class MeasurementInfluxDBRepositoryImpl implements MeasurementRepository Object[] objArry = new Object[3]; // sequence_number - objArry[0] = valObjArry[i][1]; + objArry[0] = BigDecimal.valueOf((Double) valObjArry[i][1]).toPlainString(); // time Double timeDouble = (Double) valObjArry[i][0]; objArry[1] = DATETIME_FORMATTER.print(timeDouble.longValue()); // value - objArry[2] = valObjArry[i][2]; + objArry[2] = BigDecimal.valueOf((Double) valObjArry[i][2]).toPlainString(); valObjArryList.add(objArry); } diff --git a/src/main/java/com/hpcloud/mon/infrastructure/persistence/StatisticInfluxDBRepositoryImpl.java b/src/main/java/com/hpcloud/mon/infrastructure/persistence/StatisticInfluxDBRepositoryImpl.java index c494e7c..585918f 100644 --- a/src/main/java/com/hpcloud/mon/infrastructure/persistence/StatisticInfluxDBRepositoryImpl.java +++ b/src/main/java/com/hpcloud/mon/infrastructure/persistence/StatisticInfluxDBRepositoryImpl.java @@ -29,10 +29,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.annotation.Nullable; -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.TimeUnit; public class StatisticInfluxDBRepositoryImpl implements StatisticRepository { @@ -79,14 +76,15 @@ public class StatisticInfluxDBRepositoryImpl implements StatisticRepository { List colNamesList = new LinkedList<>(statistics); colNamesList.add(0, "timestamp"); stat.setColumns(colNamesList); - stat.setDimensions(dimensions); + stat.setDimensions(dimensions == null ? new HashMap() : dimensions); List> valObjArryArry = new LinkedList>(); stat.setStatistics(valObjArryArry); Object[][] pointsArryArry = serie.getPoints(); for (int i = 0; i < pointsArryArry.length; i++) { List valObjArry = new ArrayList<>(); // First column is always time. - valObjArry.add(DATETIME_FORMATTER.print((long) pointsArryArry[i][0])); + Double timeDouble = (Double) pointsArryArry[i][0]; + valObjArry.add(DATETIME_FORMATTER.print(timeDouble.longValue())); for (int j = 1; j < statistics.size() + 1; j++) { valObjArry.add(pointsArryArry[i][j]); } diff --git a/src/main/resources/mon-api-config.yml b/src/main/resources/mon-api-config.yml index 843a2e3..7f07019 100644 --- a/src/main/resources/mon-api-config.yml +++ b/src/main/resources/mon-api-config.yml @@ -89,7 +89,7 @@ server: logging: # The default level of all loggers. Can be OFF, ERROR, WARN, INFO, DEBUG, TRACE, or ALL. - level: INFO + level: debug # Logger-specific levels. loggers: @@ -100,14 +100,14 @@ logging: appenders: - type: console - threshold: ALL + threshold: debug timeZone: UTC target: stdout logFormat: # TODO - type: file currentLogFilename: /var/log/mon-api/mon-api.log - threshold: ALL + threshold: debug archive: true archivedLogFilenamePattern: /var/log/mon-api/mon-api-%d.log.gz archivedFileCount: 5