def node_info_set_timeline(request, parameter):
    '''
     Parameter received as (metric/node_name.network.interface_name.attribute/start_time0=...)
    '''
    server_ip = util.SERVER_IP
    server_port = util.SERVER_PORT

    (metric_nodeid, resource, resource_spec1, attribute_arguments) = string.split(parameter, '.')

    metric, node_id = metric_nodeid.split("/")
    attribute, arguments = attribute_arguments.split("/")

    parameter = metric_nodeid+'.'+resource+'.'+resource_spec1+'.'+attribute

    value_type= resource+"."+resource_spec1+"."+attribute

    document = fetchdocument.fetch_most_recent_document(node_id)
    name = documentparser.get_value(document, "name")


    arg_dict = util.split_arguments_return_dict(arguments)

    values_graph = getview.get_view_node_id_attribute_timeline(node_id, value_type, start_time =arg_dict['start_time_epoch'],
                                                                end_time=arg_dict['end_time_epoch'], limit=arg_dict['limit'])


    #values_graph = json.dumps(values)
    return render_to_response('node_info_set_timeline.html',{ 'name':name,'nodeid':node_id, 'value': resource_spec1+" "+attribute,
                                                          'server_ip': server_ip, 'server_port': server_port,
                                                          'parameter':parameter,  'arguments':arg_dict, 'values_graph':values_graph},context_instance=RequestContext(request))
def node_info_timeline(request, parameter):

    all_values = []
    server_ip = util.SERVER_IP
    server_port = util.SERVER_PORT

    metric, node_id, arguments = parameter.split('/')

    arg_dict = util.split_arguments_return_dict(arguments)

    value = 'web.metricvalue.' + metric

    values_graph = getview.get_view_node_id_attribute_timeline(node_id, metric, start_time =arg_dict['start_time_epoch'],
                                                               end_time=arg_dict['end_time_epoch'], limit=arg_dict['limit'])

    #values_graph = json.dumps(values)
    return render_to_response('node_info_timeline.html',{ 'name':node_id, 'value': eval(value), 'metric':metric,
                                                          'server_ip': server_ip, 'server_port': server_port, 'values_graph':values_graph, 'arguments':arg_dict}
        ,context_instance=RequestContext(request))
def node_info_treemap(request, parameter):
    server_ip = util.SERVER_IP
    server_port = util.SERVER_PORT

    metric, arguments = parameter.split('/')

    print arguments

    arg_dict = util.split_arguments_return_dict(arguments)

    print arg_dict

    if(arguments):
        all_values = getview.get_view_all_nodes_average_attribute_treemap(arg_dict['start_time_epoch'], arg_dict['end_time_epoch'], group_level = 4)
    else:
        all_values = getview.get_view_all_nodes_average_attribute_treemap()



    values_treemap_cpu = all_values.cpu_usage
    values_treemap_mem_used = all_values.memory_usage
    values_treemap_data_sent = all_values.data_sent
    values_treemap_data_received = all_values.data_received

    #Send as JSON objects
    values_treemap_cpu= json.dumps(values_treemap_cpu)
    values_treemap_mem_used =json.dumps(values_treemap_mem_used)
    values_treemap_data_sent = json.dumps(values_treemap_data_sent)
    values_treemap_data_received = json.dumps(values_treemap_data_received)

    return render_to_response('node_treemap.html', {'values_treemap_cpu':values_treemap_cpu,
                                                    'values_treemap_mem_used':values_treemap_mem_used,
                                                    'values_treemap_data_sent':values_treemap_data_sent,
                                                    'values_treemap_data_received': values_treemap_data_received,
                                                    'server_ip': server_ip, 'server_port': server_port,
                                                    'metric':metric, 'arguments':arg_dict}, context_instance=RequestContext(request))