ayatana-commits team mailing list archive
-
ayatana-commits team
-
Mailing list archive
-
Message #00824
[Branch ~dbusmenu-team/dbusmenu/trunk] Rev 63: Dbusmenu Bench tool average support.
Merge authors:
Aurélien Gâteau (agateau)
------------------------------------------------------------
revno: 63 [merge]
committer: Ted Gould <ted@xxxxxxxx>
branch nick: trunk
timestamp: Thu 2010-02-04 12:03:36 -0800
message:
Dbusmenu Bench tool average support.
modified:
tools/dbusmenu-bench
--
lp:dbusmenu
https://code.launchpad.net/~dbusmenu-team/dbusmenu/trunk
Your team ayatana-commits is subscribed to branch lp:dbusmenu.
To unsubscribe from this branch go to https://code.launchpad.net/~dbusmenu-team/dbusmenu/trunk/+edit-subscription.
=== modified file 'tools/dbusmenu-bench'
--- tools/dbusmenu-bench 2010-02-04 19:36:16 +0000
+++ tools/dbusmenu-bench 2010-02-04 20:03:36 +0000
@@ -27,6 +27,7 @@
License version 3 and version 2.1 along with this program. If not, see
<http://www.gnu.org/licenses/>
"""
+import itertools
import time
import sys
from optparse import OptionParser
@@ -38,6 +39,10 @@
DBUS_SERVICE = "org.dbusmenu.test"
DBUS_PATH = "/MenuBar"
+PROBE_GET_LAYOUT = "GetLayout"
+PROBE_GET_PROPERTIES = "GetProperties"
+PROBE_GET_CHILDREN = "GetChildren"
+PROBES = PROBE_GET_LAYOUT, PROBE_GET_PROPERTIES, PROBE_GET_CHILDREN
class Chrono(object):
def __init__(self):
@@ -99,6 +104,12 @@
return times
+def create_timing_dict():
+ return dict(zip(PROBES, itertools.repeat(0)))
+
+def print_probe(prefix, name, value, timestamp):
+ value = int(value * 1000000)
+ print "%(prefix)s.%(name)s:%(value)d@%(timestamp)d" % locals()
def main():
parser = OptionParser(usage = "%prog [options]")
@@ -118,14 +129,25 @@
run_test_sequence(menu, dump=True)
return
- cumulated_timings = dict()
+ cumulated_timings = create_timing_dict()
+ min_timings = create_timing_dict()
+ max_timings = create_timing_dict()
for x in range(options.count):
timings = run_test_sequence(menu)
for name, timing in timings.items():
- cumulated_timings[name] = cumulated_timings.get(name, 0) + timing
+ cumulated_timings[name] += timing
+ if min_timings[name] == 0 or min_timings[name] > timing:
+ min_timings[name] = timing
+ if max_timings[name] < timing:
+ max_timings[name] = timing
+ timestamp = int(time.time())
for name, timing in cumulated_timings.items():
- print name, timing / options.count
+ print_probe("average", name, timing / options.count, timestamp)
+ for name, timing in min_timings.items():
+ print_probe("min", name, timing, timestamp)
+ for name, timing in max_timings.items():
+ print_probe("max", name, timing, timestamp)
return 0