output.py (2185:1ae0d79e352c) output.py (2343:a2b4a6ccee56)
1# Copyright (c) 2005-2006 The Regents of The University of Michigan
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are
6# met: redistributions of source code must retain the above copyright
7# notice, this list of conditions and the following disclaimer;
8# redistributions in binary form must reproduce the above copyright

--- 15 unchanged lines hidden (view full) ---

24# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26#
27# Authors: Nathan Binkert
28
29from chart import ChartOptions
30
31class StatOutput(ChartOptions):
1# Copyright (c) 2005-2006 The Regents of The University of Michigan
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are
6# met: redistributions of source code must retain the above copyright
7# notice, this list of conditions and the following disclaimer;
8# redistributions in binary form must reproduce the above copyright

--- 15 unchanged lines hidden (view full) ---

24# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26#
27# Authors: Nathan Binkert
28
29from chart import ChartOptions
30
31class StatOutput(ChartOptions):
32 def __init__(self, jobfile, info, stat=None, binstats=None):
32 def __init__(self, jobfile, info, stat=None):
33 super(StatOutput, self).__init__()
34 self.jobfile = jobfile
35 self.stat = stat
33 super(StatOutput, self).__init__()
34 self.jobfile = jobfile
35 self.stat = stat
36 self.binstats = None
37 self.invert = False
38 self.info = info
39
36 self.invert = False
37 self.info = info
38
40 def printdata(self, name, bin = None, printmode = 'G'):
39 def display(self, name, printmode = 'G'):
41 import info
42
40 import info
41
43 if bin:
44 print '%s %s stats' % (name, bin)
45
46 if self.binstats:
47 for stat in self.binstats:
48 stat.bins = bin
49
50 if printmode == 'G':
51 valformat = '%g'
52 elif printmode != 'F' and value > 1e6:
53 valformat = '%0.5e'
54 else:
55 valformat = '%f'
56
57 for job in self.jobfile.jobs():

--- 7 unchanged lines hidden (view full) ---

65 if self.invert:
66 for i,val in enumerate(value):
67 if val != 0.0:
68 value[i] = 1 / val
69
70 valstring = ', '.join([ valformat % val for val in value ])
71 print '%-50s %s' % (job.name + ':', valstring)
72
42 if printmode == 'G':
43 valformat = '%g'
44 elif printmode != 'F' and value > 1e6:
45 valformat = '%0.5e'
46 else:
47 valformat = '%f'
48
49 for job in self.jobfile.jobs():

--- 7 unchanged lines hidden (view full) ---

57 if self.invert:
58 for i,val in enumerate(value):
59 if val != 0.0:
60 value[i] = 1 / val
61
62 valstring = ', '.join([ valformat % val for val in value ])
63 print '%-50s %s' % (job.name + ':', valstring)
64
73 def display(self, name, binned = False, printmode = 'G'):
74 if binned and self.binstats:
75 self.printdata(name, 'kernel', printmode)
76 self.printdata(name, 'idle', printmode)
77 self.printdata(name, 'user', printmode)
78 self.printdata(name, 'interrupt', printmode)
79
80 print '%s total stats' % name
81 self.printdata(name, printmode=printmode)
82
83 def graph(self, name, graphdir, proxy=None):
84 from os.path import expanduser, isdir, join as joinpath
85 from barchart import BarChart
86 from matplotlib.numerix import Float, array, zeros
87 import os, re, urllib
88 from jobfile import crossproduct
89
90 confgroups = self.jobfile.groups()

--- 141 unchanged lines hidden ---
65 def graph(self, name, graphdir, proxy=None):
66 from os.path import expanduser, isdir, join as joinpath
67 from barchart import BarChart
68 from matplotlib.numerix import Float, array, zeros
69 import os, re, urllib
70 from jobfile import crossproduct
71
72 confgroups = self.jobfile.groups()

--- 141 unchanged lines hidden ---