From 1dded9849346000bf387101572fc9c05a59435b1 Mon Sep 17 00:00:00 2001 From: Matthias Vogelgesang Date: Fri, 3 Jun 2016 15:54:46 +0200 Subject: tango: add stress test script --- tango/stress-test.py | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 tango/stress-test.py diff --git a/tango/stress-test.py b/tango/stress-test.py new file mode 100644 index 0000000..2bb6dea --- /dev/null +++ b/tango/stress-test.py @@ -0,0 +1,52 @@ +import argparse +import PyTango +import sys +import time +import numpy as np +try: + import progressbar + HAVE_PROGRESSBAR = True +except ImportError: + HAVE_PROGRESSBAR = False + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + + parser.add_argument('device', type=str, + help='TANGO device address') + parser.add_argument('-n', '--number', type=int, default=1000, + help='Number of frames to acquire') + + args = parser.parse_args() + + camera = PyTango.DeviceProxy(args.device) + camera.exposure_time = 0.0001 + camera.Start() + + start = time.time() + size = 0 + + if HAVE_PROGRESSBAR: + progress = progressbar.ProgressBar(max_value=args.number, redirect_stdout=True) + else: + progress = lambda x: x + print("Recording {} frames ...".format(args.number)) + + for i in progress(range(args.number)): + try: + frame = camera.image + except: + camera.Stop() + print("Failure after {} frames".format(i)) + sys.exit(0) + + size += frame.nbytes + + if HAVE_PROGRESSBAR: + progress.update(i) + + end = time.time() + camera.Stop() + + print("Bandwidth: {:.3f} MB/s".format(size / (end - start) / 1024. / 1024.)) -- cgit v1.2.1