125def doPlot(logfilename, logfilename_copy):
126 global NEventsInFlight
127 global maxY
128 global NThreads
129 vals = parseLog(logfilename)
130 vals_c = parseLog(logfilename_copy)
131 n_vals = len(vals)
132 inFlightgraph = createInFlightGraph(n_vals)
133 graph = createGraph(vals)
134 graph_c = createGraph(vals_c)
135
136 canvas = TCanvas("Backlog", "Backlog", 1100, 900)
137 canvas.cd()
138 canvas.SetGrid()
139 inFlightgraph.Draw("APL")
140 inFlightgraph.GetYaxis().SetRangeUser(0.0, maxY * 1.2)
141 inFlightgraph.GetXaxis().SetRangeUser(0.0, float(n_vals + 1))
142 graph.Draw("PLSame")
143 graph_c.Draw("PLSame")
144
145
146 eventInFlightLabel = getText(
147 float(n_vals + 1) * 1.03,
148 NEventsInFlight,
149 "#splitline{# Simultaneous}{ Events}",
150 0.6,
151 270,
152 2,
153 12,
154 )
155 eventInFlightLabel.Draw()
156 nThreadsLabel = getText(0.15, 0.7, "%s Threads" % NThreads, 0.6, 0, 2, 12, True)
157 nThreadsLabel.Draw()
158
159
160 legend = TLegend(0.7, 0.75, 0.9, 0.9)
161 legend.SetFillColor(kWhite)
162 legend.SetHeader("Algo Management")
163 legend.AddEntry(graph, "No Cloning", LegendDrawOpts)
164 legend.AddEntry(graph_c, "Cloning enabled", LegendDrawOpts)
165 legend.Draw()
166
167 input("press enter to continue")
168
169 canvas.Print("EventBacklog.png")
170
171