in src/main/scala/com/gu/flexible/snapshotter/SnapshottingLambda.scala [67:83]
def logResults(results: Attempt[Seq[(Attempt[PutObjectResult],Attempt[PutObjectResult])]])
(implicit cloudWatchClient:AmazonCloudWatch, config: CommonConfig): Future[Unit] = {
results.fold(
{ failed =>
CloudWatchLogic.putMetricData(
MetricName.contentSnapshotError -> MetricValue(failed.errors.size, MetricValue.Count)
)
Future.successful(failed.errors.foreach(_.logTo(log)))
},
{ succeeded =>
val data = succeeded.map(_._1)
val summaries = succeeded.map(_._2)
logResultsAttempts(data, Some(contentSnapshotSuccess), Some(contentSnapshotError))
logResultsAttempts(summaries)
}
).flatMap(identity)
}