private MetricsAck genAckMessage()

in app/metrics/src/main/java/com/googlecodesamples/cloud/jss/metrics/action/Ack.java [111:129]


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

    MetricsAck message = new MetricsAck();
    // 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.setMetricsNode(MessageUtil.getHostname());
    logger.info("generated metric ack message: {}", message);
    return message;
  }