def populate_metrics()

in cloudwatch/RDSCreateMetricsFromEnhancedMonitoring.py [0:0]


def populate_metrics():
    if not metrics_to_filter:
        json_data = json.loads(return_event_log_example()['events'][0]['message'])
        for item in json_data:
            if item not in ['engine', 'instanceID', 'instanceResourceID', 'timestamp', 'version', 'uptime', 'numVCPUs',
                            'processList']:
                if isinstance(json_data[item], dict):
                    subitem_list = json_data[item]
                else:
                    subitem_list = json_data[item][0]
                for subitem in subitem_list:
                    if not isinstance(subitem_list[subitem], str):
                        create_filter_and_metric('$.' + item + '.' + subitem, get_log_group_name(rds_instance_name),
                                                 rds_instance_name)
    else:
        for metric_to_filter in metrics_to_filter:
            create_filter_and_metric('$.' + metric_to_filter, get_log_group_name(rds_instance_name), rds_instance_name)