private MetricsComplete genAckMessage()

in app/metrics/src/main/java/com/googlecodesamples/cloud/jss/metrics/action/Complete.java [113:134]


  private MetricsComplete genAckMessage(Event event, float processTime, Timestamp publishTime)
      throws UnknownHostException {
    logger.info("event: {}, processTime {}, publishTime {}", event, processTime, publishTime);

    MetricsComplete message = new MetricsComplete();
    // Copy common attributes from event.
    BeanUtils.copyProperties(event, message);
    Instant startTime = event.getSessionStartTime();
    Instant endTime = event.getSessionEndTime();

    // Set additional attributes for ack message.
    message.setEventTimestamp(endTime);
    message.setPublishTimestamp(Instant.ofEpochSecond(publishTime.getSeconds()));
    message.setProcessingTimeSec(PubSubUtil.formatFloat(processTime));
    message.setAckTimestamp(Instant.ofEpochSecond(Instant.now().getEpochSecond()));
    message.setSessionDurationHr(PubSubUtil.getDiffTimeInHour(endTime, startTime));
    message.setBatteryLevelEnd(ActionUtil.genBatteryLevelEnd(message));
    message.setChargedTotalKwh(ActionUtil.genChargedTotalKwh(message));
    message.setMetricsNode(MessageUtil.getHostname());
    logger.info("generated metric ack message: {}", message);
    return message;
  }