Lines Matching refs:trace

33 # run with flags --trace-gc --trace-gc-nvp. Relies on gnuplot for actual
36 # Usage: gc-nvp-trace-processor.py <GC-trace-filename>
154 def generate_datafile(datafile_name, trace, fields):
156 for line in trace:
161 def generate_script_and_datafile(plot, trace, datafile, output):
163 generate_datafile(datafile, trace, fields)
184 def plot_all(plots, trace, prefix):
190 script = generate_script_and_datafile(plot, trace, '~datafile', outfilename)
274 def freduce(f, field, trace, init):
275 return reduce(lambda t,r: f(t, r[field]), trace, init)
277 def calc_total(trace, field):
278 return freduce(lambda t,v: t + long(v), field, trace, long(0))
280 def calc_max(trace, field):
281 return freduce(lambda t,r: max(t, r), field, trace, 0)
283 def count_nonzero(trace, field):
284 return freduce(lambda t,r: t if r == 0 else t + 1, field, trace, 0)
288 trace = gc_nvp_common.parse_gc_trace(filename)
290 marksweeps = filter(lambda r: r['gc'] == 'ms', trace)
291 scavenges = filter(lambda r: r['gc'] == 's', trace)
292 globalgcs = filter(lambda r: r['gc'] != 's', trace)
295 charts = plot_all(plots, trace, filename)
297 def stats(out, prefix, trace, field):
298 n = len(trace)
299 total = calc_total(trace, field)
300 max = calc_max(trace, field)
306 dev = math.sqrt(freduce(lambda t,r: t + (r - avg) ** 2, field, trace, 0) /
323 def throughput(name, trace):
324 total_live_after = calc_total(trace, 'total_size_after')
325 total_live_before = calc_total(trace, 'total_size_before')
326 total_gc = calc_total(trace, 'pause')
346 stats(out, 'Total in GC', trace, 'pause')
349 stats(out, 'Mark', filter(lambda r: r['mark'] != 0, trace), 'mark')
350 stats(out, 'Sweep', filter(lambda r: r['sweep'] != 0, trace), 'sweep')
353 filter(lambda r: r['external'] != 0, trace),
356 throughput('TOTAL', trace)
367 print("Usage: %s <GC-trace-filename>" % sys.argv[0])