

def get_metric_datapoints_for(engine, db_name, hostname, url, metric_name=None, granurality=None, from_option=None):
    datapoints = {
        
    }
    if (engine == 'mongodb'):
        graphs = MONGODB_METRICS
    elif (engine == 'mysql'):
        graphs = MYSQL_METRICS
    elif (engine == 'redis'):
        graphs = REDIS_METRICS
    else:
        graphs = None
    newgraph = []
    for graph in graphs:
        newserie = []
        if (metric_name is None):
            zoomtype = ''
        elif (graph['name'] != metric_name):
            continue
        else:
            zoomtype = 'x'
        for serie in graph['series']:
            datapoints = get_graphite_metrics_datapoints(from_option, engine, db_name, hostname, serie['data'], granurality, url=url, normalize_series=graph['normalize_series'])
            if datapoints:
                newserie.append({
                    'name': serie['name'],
                    'data': datapoints,
                })
            else:
                newserie.append({
                    'name': serie['name'],
                    'data': [],
                })
        newgraph.append({
            'name': graph['name'],
            'series': str(ast.literal_eval(json.dumps(newserie))),
            'type': graph['type'],
            'tooltip_point_format': graph['tooltip_point_format'],
            'y_axis_title': graph['y_axis_title'],
            'stacking': graph['stacking'],
            'graph_name': graph['graph_name'],
            'zoomtype': zoomtype,
            'normalize_series': graph['normalize_series'],
        })
    return newgraph

dataset/ETHPy150Open globocom/database-as-a-service/dbaas/util/metrics/metrics.py get_metric_datapoints_for/original