in cfn/metrics/publisher.go [88:116]
func (p *Publisher) publishMetric(metricName string, data map[string]string, unit string, value float64, date time.Time) {
var d []*cloudwatch.Dimension
for k, v := range data {
dim := &cloudwatch.Dimension{
Name: aws.String(k),
Value: aws.String(v),
}
d = append(d, dim)
}
md := []*cloudwatch.MetricDatum{
&cloudwatch.MetricDatum{
MetricName: aws.String(metricName),
Unit: aws.String(unit),
Value: aws.Float64(value),
Dimensions: d,
Timestamp: &date},
}
pi := cloudwatch.PutMetricDataInput{
Namespace: aws.String(p.namespace),
MetricData: md,
}
_, err := p.client.PutMetricData(&pi)
if err != nil {
p.logger.Printf("An error occurred while publishing metrics: %s", err)
}
}