def putMetricData()

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)
    }
  }