def confluence_project_report(project_id): project = Project.objects.get(id=project_id) content = """ <h2>Load testing report for: {0}</h2> <hr/> {1} <hr/> """ last_test = get_test_for_project(project_id, 0) data = get_compare_tests_aggregate_data( last_test['id'], 10, order='start_time') agg_response_times_graph = generate_confluence_graph(project, list(data)) #data = get_compare_tests_server_monitoring_data(last_test['id'], 10, order='start_time') #agg_cpu_util_graph = generate_confluence_graph(project, list(data)) last_tests = Test.objects.filter(project_id=project_id).values( 'project__project_name', 'project_id', 'display_name', 'id', 'parameters', 'start_time').order_by('-start_time')[:10] tests = dashboard_compare_tests_list(last_tests) last_tests_table_html = render_to_string( 'confluence/last_tests_table.html', {'last_tests': tests}) content = content.format(project.project_name, agg_response_times_graph) content += last_tests_table_html return content
def generate_overall_report(request): content = "" projects_all = list(Project.objects.values()) for project in projects_all: if project['show']: project_id = int(project['id']) a = Aggregate.objects.annotate(test_name=F('test__display_name')) \ .filter(test__project__id=project_id, test__show=True) \ .values('test_name') \ .annotate(Average=Avg('average')) \ .annotate(Median=Avg('median')) \ .order_by('test__start_time')[10:] content += generate_confluence_graph(project, list(a)) response = post_to_confluence(content) return JsonResponse(response, safe=False)