~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/lsprof.py

  • Committer: Jelmer Vernooij
  • Date: 2010-08-28 11:19:49 UTC
  • mto: This revision was merged to the branch mainline in revision 5418.
  • Revision ID: jelmer@samba.org-20100828111949-6ke9opiop2oomr4f
Move get_config to ControlDir.

Show diffs side-by-side

added added

removed removed

Lines of Context:
112
112
 
113
113
 
114
114
class Stats(object):
115
 
    """Wrapper around the collected data.
116
 
 
117
 
    A Stats instance is created when the profiler finishes. Normal
118
 
    usage is to use save() to write out the data to a file, or pprint()
119
 
    to write human-readable information to the command line.
120
 
    """
 
115
    """XXX docstring"""
121
116
 
122
117
    def __init__(self, data, threads):
123
118
        self.data = data
124
119
        self.threads = threads
125
120
 
126
121
    def sort(self, crit="inlinetime"):
127
 
        """Sort the data by the supplied critera.
128
 
 
129
 
        :param crit: the data attribute used as the sort key."""
 
122
        """XXX docstring"""
130
123
        if crit not in profiler_entry.__dict__:
131
124
            raise ValueError, "Can't sort by %s" % crit
132
125
        self.data.sort(lambda b, a: cmp(getattr(a, crit),
137
130
                                              getattr(b, crit)))
138
131
 
139
132
    def pprint(self, top=None, file=None):
140
 
        """Pretty-print the data as plain text for human consumption.
141
 
 
142
 
        :param top: only output the top n entries.
143
 
            The default value of None means output all data.
144
 
        :param file: the output file; if None, output will
145
 
            default to stdout."""
 
133
        """XXX docstring"""
146
134
        if file is None:
147
135
            file = sys.stdout
148
136
        d = self.data
275
263
        code = subentry.code
276
264
        totaltime = int(subentry.totaltime * 1000)
277
265
        #out_file.write('cob=%s\n' % (code.co_filename,))
 
266
        out_file.write('cfn=%s\n' % (label(code, True),))
278
267
        if isinstance(code, str):
279
268
            out_file.write('cfi=~\n')
280
 
            out_file.write('cfn=%s\n' % (label(code, True),))
281
269
            out_file.write('calls=%d 0\n' % (subentry.callcount,))
282
270
        else:
283
271
            out_file.write('cfi=%s\n' % (code.co_filename,))
284
 
            out_file.write('cfn=%s\n' % (label(code, True),))
285
272
            out_file.write('calls=%d %d\n' % (
286
273
                subentry.callcount, code.co_firstlineno))
287
274
        out_file.write('%d %d\n' % (lineno, totaltime))