in src/main/scala/com/gu/flexible/snapshotter/logic/CloudWatchLogic.scala [31:41]
def putMetricData(metrics: (String, MetricValue)*)(implicit cloudWatchClient: AmazonCloudWatch, config: CommonConfig) = {
val dimensions = awsDimensions(config.cloudWatchDimensions:_*)
val metricData = metrics.map { case (name, value) =>
new MetricDatum().withMetricName(name).withUnit(value.unit).withValue(value.value).withDimensions(dimensions:_*)
}
try {
cloudWatchClient.putMetricData(new PutMetricDataRequest().withNamespace(config.cloudWatchNameSpace).withMetricData(metricData:_*))
} catch {
case NonFatal(e) => log.warn(s"Could't post metrics $metrics", e)
}
}