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