def _flush()

in src/cloudwatch/modules/flusher.py [0:0]


    def _flush(self):
        """
        Batches and puts metrics to CloudWatch
        """
        self.last_flush_time = time.time()
        metric_map_size = len(self.metric_map)
        if self.metric_map:
            prepare_batch = self._prepare_batch()
            try:
                while True:
                    metric_batch = prepare_batch.next()
                    if not metric_batch:
                        break
                    self.client.put_metric_data(MetricDataStatistic.NAMESPACE, metric_batch)
                    if len(metric_batch) < self._MAX_METRICS_PER_PUT_REQUEST:
                        break
            except StopIteration, e:
                if metric_map_size % self._MAX_METRICS_PER_PUT_REQUEST != 0 or len(self.metric_map) != 0:
                    self._LOGGER.error("_flush error: " + str(e) + "  Original map size: " + str(metric_map_size))