~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/lsprof.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2009-02-23 17:00:36 UTC
  • mfrom: (4032.1.4 jam-integration)
  • Revision ID: pqm@pqm.ubuntu.com-20090223170036-3q1v68ewdt8i0to5
(Marius Kruger) Remove all trailing whitespace and add tests to
        enforce this.

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
 
29
29
def profile(f, *args, **kwds):
30
30
    """Run a function profile.
31
 
    
 
31
 
32
32
    :return: The functions return value and a stats object.
33
33
    """
34
34
    global _g_threadmap
51
51
        for pp in _g_threadmap.values():
52
52
            pp.disable()
53
53
        threading.setprofile(None)
54
 
    
 
54
 
55
55
    threads = {}
56
56
    for tid, pp in _g_threadmap.items():
57
57
        threads[tid] = Stats(pp.getstats(), {})
156
156
 
157
157
    This code is taken from http://ddaa.net/blog/python/lsprof-calltree
158
158
    with the changes made by J.P. Calderone and Itamar applied. Note that
159
 
    isinstance(code, str) needs to be used at times to determine if the code 
 
159
    isinstance(code, str) needs to be used at times to determine if the code
160
160
    object is actually an external code object (with a filename, etc.) or
161
161
    a Python built-in.
162
162
    """
166
166
        self.out_file = None
167
167
 
168
168
    def output(self, out_file):
169
 
        self.out_file = out_file        
 
169
        self.out_file = out_file
170
170
        out_file.write('events: Ticks\n')
171
171
        self._print_summary()
172
172
        for entry in self.data: