From fd302a2256f466a0280bb68b126b0ab3f49c7419 Mon Sep 17 00:00:00 2001 From: Thomas Juerges <203795-tjuerges@users.noreply.gitlab.com> Date: Tue, 20 Jul 2021 15:39:17 +0200 Subject: [PATCH] L2SS-245: use four arrays of equal size --- .../devices/monitoring_performance_test.py | 87 ++++++++++++------- 1 file changed, 54 insertions(+), 33 deletions(-) diff --git a/devices/test/devices/monitoring_performance_test.py b/devices/test/devices/monitoring_performance_test.py index 777dbdf94..3d0a809ce 100644 --- a/devices/test/devices/monitoring_performance_test.py +++ b/devices/test/devices/monitoring_performance_test.py @@ -14,75 +14,96 @@ parentdir = os.path.dirname(currentdir) parentdir = os.path.dirname(parentdir) sys.path.append(parentdir) -import logging +import time import numpy from tango import DevState, Util from tango.server import run, Device, attribute from numpy import random -from time import time __all__ = ["Monitoring_Performance_Device", "main"] -SMALL = 10000 -BIG = 1000000 +POLLING_THREADS = 1 +ARRAY_SIZE = 10000 -logger = logging.getLogger() -logger.setLevel(logging.INFO) - -def read(size): - return numpy.array([random.random(), ] * size) +class Monitoring_Performance_Device(Device): + def read_array(self): + print("{} read_big".format(time.time())) + return numpy.array([random.random(), ] * ARRAY_SIZE) -def read_small(): - logger.info("read_small") - return read(SMALL) + array1_r = attribute( + dtype = (numpy.double,), + max_dim_x = ARRAY_SIZE, + period = 1000, + rel_change = 0.1, + archive_period = 1000, + archive_rel_change = 0.1, + max_value = 1.0, + min_value = 0.0, + fget = read_array, + ) -def read_big(): - logger.info("read_big") - return read(BIG) + array2_r = attribute( + dtype = (numpy.double,), + max_dim_x = ARRAY_SIZE, + period = 1000, + rel_change = 0.1, + archive_period = 1000, + archive_rel_change = 0.1, + max_value = 1.0, + min_value = 0.0, + fget = read_array, + ) -class Monitoring_Performance_Device(Device): - small_array_r = attribute( + array3_r = attribute( dtype = (numpy.double,), - max_dim_x = 10000, - polling_period = 1000, + max_dim_x = ARRAY_SIZE, period = 1000, rel_change = 0.1, archive_period = 1000, archive_rel_change = 0.1, max_value = 1.0, min_value = 0.0, - fget = read_small, + fget = read_array, ) - big_array_r = attribute( + array4_r = attribute( dtype = (numpy.double,), - max_dim_x = 1000000, + max_dim_x = ARRAY_SIZE, period = 1000, rel_change = 0.1, archive_period = 1000, archive_rel_change = 0.1, max_value = 1.0, min_value = 0.0, - fget = read_big, + fget = read_array, ) def init_device(self): Device.init_device(self) - util = tango.Util.instance() - logger.info("Current polling thread pool size = {}".format(util.get_polling_threads_pool_size())) - util.get_polling_threads_pool_size(100) - logger.info("New polling thread pool size = {}".format(util.get_polling_threads_pool_size())) + util = Util.instance() + print("Current polling thread pool size = {}".format(util.get_polling_threads_pool_size())) + util.set_polling_threads_pool_size(POLLING_THREADS) + print("New polling thread pool size = {}".format(util.get_polling_threads_pool_size())) + print("Array size = {}".format(ARRAY_SIZE)) self.set_state(DevState.OFF) - self.small_array_r.set_data_ready_event(True) - self.set_change_event("small_array_r", True, True) - self.set_archive_event("small_array_r", True, True) + self.array1_r.set_data_ready_event(True) + self.set_change_event("array1_r", True, True) + self.set_archive_event("array1_r", True, True) + + self.array2_r.set_data_ready_event(True) + self.set_change_event("array2_r", True, True) + self.set_archive_event("array2_r", True, True) + + self.array3_r.set_data_ready_event(True) + self.set_change_event("array3_r", True, True) + self.set_archive_event("array3_r", True, True) - self.big_array_r.set_data_ready_event(True) - self.set_change_event("big_array_r", True, True) - self.set_archive_event("big_array_r", True, True) + self.array4_r.set_data_ready_event(True) + self.set_change_event("array4_r", True, True) + self.set_archive_event("array4_r", True, True) self.set_state(DevState.ON) -- GitLab