aboutsummaryrefslogtreecommitdiffstats
path: root/qtip/utils/report/qtip_report.py
blob: 6809e89253a4db3913af174eb6858aa2688c0c1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Image
from reportlab.lib.styles import getSampleStyleSheet
from reportlab.lib.units import inch
from reportlab.lib.pagesizes import letter
import qtip_graph as graph
import get_indices as results
from get_results import report_concat
from get_results import generate_result


def dump_result(Stor, directory, testcase):
    try:
        lower_s = testcase.lower()
        Stor.append(Paragraph(testcase, Style['h3']))
        l1 = report_concat(directory, lower_s)
        l = 1
        for a in l1:
            Stor.append(Paragraph(testcase + " result_" + str(l), Style['h5']))
            raw_string = generate_result(a, 0)
            replaced_string = raw_string.replace('\n', '<br/> ').replace(' ', '&nbsp;')
            Stor.append(Paragraph(replaced_string, Style['BodyText']))
            l = l + 1
    except OSError:
        print "Results for {0} not found".format(testcase)


doc = SimpleDocTemplate("../../results/QTIP_results.pdf", pagesize=letter,
                        rightMargin=72, leftMargin=72,
                        topMargin=72, bottomMargin=18)
Stor = []
Style = getSampleStyleSheet()
Title = "QTIP Benchmark Suite"
Stor.append(Paragraph(Title, Style['Title']))
H1 = "Results"
Stor.append(Spacer(0, 36))
Stor.append(Paragraph(H1, Style['h2']))
compute = 0
storage = 0
network = 0
try:
    compute = results.get_index('compute_result')
except IOError:
    pass

try:
    storage = results.get_index('storage_result')
except IOError:
    pass
try:
    network = results.get_index('network_result')
except IOError:
    pass

Stor.append(Paragraph("Compute Suite:   %f" % compute, Style['h5']))
Stor.append(Paragraph("Storage Suite:   %f" % storage, Style['h5']))
Stor.append(Paragraph("Network Suite:   %f" % network, Style['h5']))
graph.plot_indices(compute, storage, network)
qtip_graph = ('qtip_graph.jpeg')
im = Image(qtip_graph, 5 * inch, 4 * inch)
Stor.append(im)
Stor.append(Spacer(0, 12))
Stor.append(Paragraph("Reference POD", Style['h5']))
ptext = "The Dell OPNFV Lab POD3  has been taken as the reference POD against which the reference results have been collected. The POD consists of 6 identical servers. The details of such a server are:"
Stor.append(Paragraph(ptext, Style['Normal']))
ptext = "<bullet>&bull;</bullet>Server Type: Dell PowerEdge R630 Server"
Stor.append(Paragraph(ptext, Style['Bullet']))
ptext = "<bullet>&bull;</bullet>CPU: Intel  Xeon E5-2698 @ 2300 MHz"
Stor.append(Paragraph(ptext, Style["Bullet"]))
ptext = "<bullet>&bull;</bullet>RAM: 128GB"
Stor.append(Paragraph(ptext, Style["Bullet"]))
ptext = "<bullet>&bull;</bullet>Storage SSD: 420GB"
Stor.append(Paragraph(ptext, Style["Bullet"]))
ptext = "<bullet>&bull;</bullet>Network Card: Intel 2P X520/2P I350 rNDC"
Stor.append(Paragraph(ptext, Style["Bullet"]))
ptext = "Servers interconnected through a DELL S4810 switch using a 10Gbps physical link"
Stor.append(Paragraph(ptext, Style["Bullet"]))
Stor.append(Spacer(0, 12))
ptext = "For Further  Details of the Reference POD hardware, please visit: https://wiki.opnfv.org/reference_pod_hardware_details"
Stor.append(Paragraph(ptext, Style['Normal']))
Stor.append(Spacer(0, 12))
ptext = "For Details of the Reference POD Results,  please visit: https://wiki.opnfv.org/reference_pod_qtip_results"
Stor.append(Spacer(0, 12))
Stor.append(Paragraph(ptext, Style['Normal']))
Stor.append(Paragraph("RAW Results", Style['h1']))
Stor.append(Paragraph("Compute Results", Style['h2']))

dump_result(Stor, "../../results/dhrystone/", "Dhrystone_bm")
dump_result(Stor, "../../results/dhrystone/", "Dhrystone_vm")

dump_result(Stor, "../../results/whetstone/", "Whetstone_bm")
dump_result(Stor, "../../results/whetstone/", "Whetstone_vm")

dump_result(Stor, "../../results/ramspeed/", "Ramspeed_bm")
dump_result(Stor, "../../results/ramspeed/", "Ramspeed_vm")

dump_result(Stor, "../../results/ssl/", "SSL_bm")
dump_result(Stor, "../../results/ssl/", "SSL_vm")

Stor.append(Paragraph("Network Results", Style['h2']))
dump_result(Stor, "../../results/iperf/", "IPERF_bm")
dump_result(Stor, "../../results/iperf/", "IPERF_vm")
dump_result(Stor, "../../results/iperf/", "IPERF_vm_2")

Stor.append(Paragraph("Storage Results", Style['h2']))
dump_result(Stor, "../../results/fio/", "fio_bm")
dump_result(Stor, "../../results/fio/", "fio_vm")


doc.build(Stor)