diff options
author | Lars Wirzenius <liw@liw.fi> | 2010-07-06 18:35:52 +1200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2010-07-06 18:35:52 +1200 |
commit | 4e390b1befa7a2124b673c0b09d4bffc05c6b5d1 (patch) | |
tree | 95215f6e5379b4e20d8ea729f5b827042f506844 /viewprof | |
parent | 03dc856771f67128fddf70d25de6f388e927a4b0 (diff) | |
download | extrautils-4e390b1befa7a2124b673c0b09d4bffc05c6b5d1.tar.gz |
Add viewprof.
Diffstat (limited to 'viewprof')
-rwxr-xr-x | viewprof | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/viewprof b/viewprof new file mode 100755 index 0000000..2c4a534 --- /dev/null +++ b/viewprof @@ -0,0 +1,34 @@ +#!/usr/bin/python +# Copyright 2010 Lars Wirzenius +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + + +import pstats +import sys + +if len(sys.argv) not in [2, 3]: + sys.stderr.write('Usage: viewprof foo.prof [sort-order]\n') + sys.exit(1) + +if len(sys.argv) == 3: + order = sys.argv[2] +else: + order = 'cumulative' + +p = pstats.Stats(sys.argv[1]) +p.strip_dirs() +p.sort_stats(order) +p.print_stats() +p.print_callees() |