public static void prepareReportingInsert(PreparedStatement ps, String email, int dashId, int deviceId, short pin, PinType pinType, long ts, double value) throws SQLException { ps.setString(1, email); ps.setInt(2, dashId); ps.setInt(3, deviceId); ps.setShort(4, pin); ps.setInt(5, pinType.ordinal()); ps.setTimestamp(6, new Timestamp(ts), DateTimeUtils.UTC_CALENDAR); ps.setDouble(7, value); }
public void collect(BaseReportingKey key, long ts, String stringValue, double doubleValue) { final AggregationKey aggregationKey = new AggregationKey(key, ts); if (doubleValue == NumberUtil.NO_RESULT) { rawStorage.put(aggregationKey, stringValue); } else { rawStorage.put(aggregationKey, doubleValue); } }
for (AggregationKey keyToRemove : keys) { if (keyToRemove.isOutdated(nowTruncatedToPeriod)) { AggregationValue value = map.get(keyToRemove); FileUtils.getUserStorageDir(keyToRemove.getEmail(), keyToRemove.getAppName())); if (Files.notExists(userReportFolder)) { Files.createDirectories(userReportFolder); String fileName = generateFilename(keyToRemove.getDashId(), keyToRemove.getDeviceId(), keyToRemove.getPinType(), keyToRemove.getPin(), type); Path filePath = Paths.get(userReportFolder.toString(), fileName); FileUtils.write(filePath, value.calcAverage(), keyToRemove.getTs(type));
final Object value = entry.getValue(); ps.setString(1, key.getEmail()); ps.setInt(2, key.getDashId()); ps.setInt(3, key.getDeviceId()); ps.setShort(4, key.getPin()); ps.setString(5, key.getPinType().pinTypeString); ps.setTimestamp(6, new Timestamp(key.ts), DateTimeUtils.UTC_CALENDAR);
public void collect(BaseReportingKey baseReportingKey, long ts, double val) { aggregate(minute, new AggregationKey(baseReportingKey, ts / MINUTE), val); aggregate(hourly, new AggregationKey(baseReportingKey, ts / HOUR), val); aggregate(daily, new AggregationKey(baseReportingKey, ts / DAY), val); }