in app/model/Queue.scala [13:22]
def from(url: String)(implicit conn: AmazonConnection, context: ExecutionContext): Future[Queue] = {
val name = url.split("/").last
for{
stats <- AWS.futureOf(conn.cloudWatch.getMetricStatisticsAsync, new GetMetricStatisticsRequest()
.withDimensions(new Dimension().withName("QueueName").withValue(name))
.withMetricName("ApproximateNumberOfMessagesVisible").withNamespace("AWS/SQS").withPeriod(60).withStatistics("Average")
.withStartTime(DateTime.now().minusHours(3).toDate).withEndTime(DateTime.now().toDate)
)
} yield Queue(name, url, stats.getDatapoints.asScala.toSeq.sortBy(_.getTimestamp))
}