func()

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)

	}
}