/breezy/unstable

To get this branch, use:
bzr branch https://code.breezy-vcs.org/breezy/unstable

« back to all changes in this revision

Viewing changes to breezy/lsprof.py

  • Committer: Jelmer Vernooij
  • Date: 2017-05-24 01:39:33 UTC
  • mfrom: (3815.3776.6)
  • Revision ID: jelmer@jelmer.uk-20170524013933-ir4y4tqtrsiz2ka2
New upstream snapshot.

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
import threading
13
13
from _lsprof import Profiler, profiler_entry
14
14
 
15
 
from bzrlib import errors
 
15
from . import errors
16
16
 
17
17
__all__ = ['profile', 'Stats']
18
18
 
52
52
    This is needed because profiling involves global manipulation of the python
53
53
    interpreter state. As such you cannot perform multiple profiles at once.
54
54
    Trying to do so will lock out the second profiler unless the global 
55
 
    bzrlib.lsprof.BzrProfiler.profiler_block is set to 0. Setting it to 0 will
 
55
    breezy.lsprof.BzrProfiler.profiler_block is set to 0. Setting it to 0 will
56
56
    cause profiling to fail rather than blocking.
57
57
    """
58
58
 
87
87
        This unhooks from threading and cleans up the profiler, returning
88
88
        the gathered Stats object.
89
89
 
90
 
        :return: A bzrlib.lsprof.Stats object.
 
90
        :return: A breezy.lsprof.Stats object.
91
91
        """
92
92
        try:
93
93
            self.p.disable()
130
130
 
131
131
        :param crit: the data attribute used as the sort key."""
132
132
        if crit not in profiler_entry.__dict__:
133
 
            raise ValueError, "Can't sort by %s" % crit
 
133
            raise ValueError("Can't sort by %s" % crit)
134
134
        self.data.sort(lambda b, a: cmp(getattr(a, crit),
135
135
                                        getattr(b, crit)))
136
136
        for e in self.data:
321
321
        sys.stderr.write("usage: lsprof.py <script> <arguments...>\n")
322
322
        sys.exit(2)
323
323
    sys.path.insert(0, os.path.abspath(os.path.dirname(sys.argv[0])))
324
 
    stats = profile(execfile, sys.argv[0], globals(), locals())
325
 
    stats.sort()
 
324
    stats = sorted(profile(execfile, sys.argv[0], globals(), locals()))
326
325
    stats.pprint()