aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2010-04-08 03:06:26 +0000
committerRob Austein <sra@hactrn.net>2010-04-08 03:06:26 +0000
commit0213047304954cf4c5d4552800ae89fb7f58b6c5 (patch)
treef3ab2758414dacc27b9fe6d2964e3d2247d183ba
parente215aa1d11f814bb5eb023a34a873020f4497a23 (diff)
Profiling support
svn path=/rpkid/Makefile; revision=3171
-rw-r--r--rpkid/Makefile4
-rw-r--r--scripts/print-profile.py20
2 files changed, 24 insertions, 0 deletions
diff --git a/rpkid/Makefile b/rpkid/Makefile
index c06ac05e..f2884ff2 100644
--- a/rpkid/Makefile
+++ b/rpkid/Makefile
@@ -134,3 +134,7 @@ docs::
lint:
pylint --rcfile ../scripts/pylint.rc rpki/[a-z]*.py cronjob.py cross_certify.py irbe_cli.py irdbd.py pubd.py rootd.py rpkid.py testbed.py testpoke.py
+
+profile: all
+ python testbed.py -y testbed.2.yaml -p
+ for i in testbed.dir/*.prof; do python -c "import pstats;pstats.Stats('$$i').sort_stats('time').print_stats()"; done
diff --git a/scripts/print-profile.py b/scripts/print-profile.py
new file mode 100644
index 00000000..081d2602
--- /dev/null
+++ b/scripts/print-profile.py
@@ -0,0 +1,20 @@
+# $Id$
+#
+# Copyright (C) 2010 Internet Systems Consortium, Inc. ("ISC")
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+import pstats, glob
+
+for f in glob.iglob("*.prof"):
+ pstats.Stats(f).sort_stats("time").print_stats(50)