def batch_metrics()

in metricpublisher/publisher_handler.py [0:0]


def batch_metrics(log_events):
    """Batch together metrics.

    Parameters:
        log_events (list): A list of
        log events whose 'message'
        field contains metrics.

    Returns:
        metrics (list): A list of metrics to
        be put to cloudwatch.

    """
    metrics_list = []
    log_streams_set = set()
    for event in log_events:
        log_stream_name = event['logStreamName']
        if log_stream_name not in log_streams_set:
            event_message = ast.literal_eval(event['message'])
            for metric in event_message['metric_data']:
                metrics_list.append(metric)
        log_streams_set.add(log_stream_name)
    return metrics_list