From 18026165c3086b77253663fb12d5b7470de8f2a1 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sat, 11 Aug 2007 22:42:15 +0000 Subject: bitbake: Sync with upstream git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2480 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- bitbake/bin/bitbake | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'bitbake/bin') diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake index 4b212adc2d..8b69a0a33f 100755 --- a/bitbake/bin/bitbake +++ b/bitbake/bin/bitbake @@ -102,6 +102,8 @@ Default BBFILES are the .bb files in the current directory.""" ) parser.add_option( "-l", "--log-domains", help = """Show debug logging for the specified logging domains""", action = "append", dest = "debug_domains", default = [] ) + parser.add_option( "-P", "--profile", help = "profile the command and print a report", + action = "store_true", dest = "profile", default = False ) options, args = parser.parse_args(sys.argv) @@ -110,8 +112,23 @@ Default BBFILES are the .bb files in the current directory.""" ) configuration.pkgs_to_build.extend(args[1:]) cooker = bb.cooker.BBCooker(configuration) - cooker.cook() + if configuration.profile: + try: + import cProfile as profile + except: + import profile + + profile.runctx("cooker.cook()", globals(), locals(), "profile.log") + import pstats + p = pstats.Stats('profile.log') + p.sort_stats('time') + p.print_stats() + p.print_callers() + p.sort_stats('cumulative') + p.print_stats() + else: + cooker.cook() if __name__ == "__main__": main() -- cgit v1.2.3-54-g00ecf