summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/cooker.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2013-01-28 14:40:04 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-01-28 14:49:05 +0000
commitdd335b09089c14016642a51b812500556e8f453c (patch)
treeb2719a796d97a092b0329957cade909e7cd7082c /bitbake/lib/bb/cooker.py
parent469bf3c58ebf153ad1829af7cf29e41e479af1d1 (diff)
downloadpoky-dd335b09089c14016642a51b812500556e8f453c.tar.gz
bitbake: utils.py: Add function for processing profile output
(Bitbake rev: 0df64810e8d40e7761cfd5059c0617dda31a6641) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/cooker.py')
-rw-r--r--bitbake/lib/bb/cooker.py20
1 files changed, 1 insertions, 19 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index caf1123496..80710fb97d 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -1416,25 +1416,7 @@ def server_main(cooker, func, *args):
1416 ret = profile.Profile.runcall(prof, func, *args) 1416 ret = profile.Profile.runcall(prof, func, *args)
1417 1417
1418 prof.dump_stats("profile.log") 1418 prof.dump_stats("profile.log")
1419 1419 bb.utils.process_profilelog("profile.log")
1420 # Redirect stdout to capture profile information
1421 pout = open('profile.log.processed', 'w')
1422 so = sys.stdout.fileno()
1423 orig_so = os.dup(sys.stdout.fileno())
1424 os.dup2(pout.fileno(), so)
1425
1426 import pstats
1427 p = pstats.Stats('profile.log')
1428 p.sort_stats('time')
1429 p.print_stats()
1430 p.print_callers()
1431 p.sort_stats('cumulative')
1432 p.print_stats()
1433
1434 os.dup2(orig_so, so)
1435 pout.flush()
1436 pout.close()
1437
1438 print("Raw profiling information saved to profile.log and processed statistics to profile.log.processed") 1420 print("Raw profiling information saved to profile.log and processed statistics to profile.log.processed")
1439 1421
1440 else: 1422 else: