func goStats(cw *cloudwatch.CloudWatch, requests *[]cloudwatch.GetMetricStatisticsRequest, now time.Time, statsCli *statsd.StatsdBuffer) { log.WithField("now", now).Debug("tick") for _, request := range *requests { request.EndTime = now request.StartTime = now.Add(time.Minute * -1) // 1 minute ago response, err := cw.GetMetricStatistics(&request) if err != nil { log.WithField("error", err).Warn("could not retrieve metric from cloudwatch") } for _, dp := range response.GetMetricStatisticsResult.Datapoints { statsCli.Absolute(fmt.Sprintf("%s.%s", strings.ToLower(request.Dimensions[0].Value), strings.ToLower(request.MetricName)), int64(dp.Sum)) } } }