in src/main/scala/com/gu/elasticsearchmonitor/CloudwatchMetrics.scala [76:89]
def sendMetrics(clusterName: String, metrics: List[MetricDatum], logger: LambdaLogger): Unit = {
logger.log(s"About to send ${metrics.size} metrics", LogLevel.INFO)
val metricBatches = metrics.grouped(20) // hard limit of 20 items on cloudwatch's side
metricBatches.foreach { batch =>
logger.log(s"Sending a batch of ${batch.size} metrics to cloudwatch", LogLevel.INFO)
val putMetricDataRequest = PutMetricDataRequest()
putMetricDataRequest.setNamespace(s"${env.stack}/$clusterName")
putMetricDataRequest.setMetricData(batch.asJava)
cloudWatch.putMetricData(putMetricDataRequest)
}
}