Skip to content
Snippets Groups Projects
Commit fd302a22 authored by Thomas Juerges's avatar Thomas Juerges
Browse files

L2SS-245: use four arrays of equal size

parent b1c8c651
No related branches found
No related tags found
1 merge request!96L2SS-245: "Investigation monitoring load"
...@@ -14,75 +14,96 @@ parentdir = os.path.dirname(currentdir) ...@@ -14,75 +14,96 @@ parentdir = os.path.dirname(currentdir)
parentdir = os.path.dirname(parentdir) parentdir = os.path.dirname(parentdir)
sys.path.append(parentdir) sys.path.append(parentdir)
import logging import time
import numpy import numpy
from tango import DevState, Util from tango import DevState, Util
from tango.server import run, Device, attribute from tango.server import run, Device, attribute
from numpy import random from numpy import random
from time import time
__all__ = ["Monitoring_Performance_Device", "main"] __all__ = ["Monitoring_Performance_Device", "main"]
SMALL = 10000 POLLING_THREADS = 1
BIG = 1000000 ARRAY_SIZE = 10000
logger = logging.getLogger() class Monitoring_Performance_Device(Device):
logger.setLevel(logging.INFO) def read_array(self):
print("{} read_big".format(time.time()))
def read(size): return numpy.array([random.random(), ] * ARRAY_SIZE)
return numpy.array([random.random(), ] * size)
def read_small(): array1_r = attribute(
logger.info("read_small") dtype = (numpy.double,),
return read(SMALL) 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(): array2_r = attribute(
logger.info("read_big") dtype = (numpy.double,),
return read(BIG) 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): array3_r = attribute(
small_array_r = attribute(
dtype = (numpy.double,), dtype = (numpy.double,),
max_dim_x = 10000, max_dim_x = ARRAY_SIZE,
polling_period = 1000,
period = 1000, period = 1000,
rel_change = 0.1, rel_change = 0.1,
archive_period = 1000, archive_period = 1000,
archive_rel_change = 0.1, archive_rel_change = 0.1,
max_value = 1.0, max_value = 1.0,
min_value = 0.0, min_value = 0.0,
fget = read_small, fget = read_array,
) )
big_array_r = attribute( array4_r = attribute(
dtype = (numpy.double,), dtype = (numpy.double,),
max_dim_x = 1000000, max_dim_x = ARRAY_SIZE,
period = 1000, period = 1000,
rel_change = 0.1, rel_change = 0.1,
archive_period = 1000, archive_period = 1000,
archive_rel_change = 0.1, archive_rel_change = 0.1,
max_value = 1.0, max_value = 1.0,
min_value = 0.0, min_value = 0.0,
fget = read_big, fget = read_array,
) )
def init_device(self): def init_device(self):
Device.init_device(self) Device.init_device(self)
util = tango.Util.instance() util = Util.instance()
logger.info("Current polling thread pool size = {}".format(util.get_polling_threads_pool_size())) print("Current polling thread pool size = {}".format(util.get_polling_threads_pool_size()))
util.get_polling_threads_pool_size(100) util.set_polling_threads_pool_size(POLLING_THREADS)
logger.info("New polling thread pool size = {}".format(util.get_polling_threads_pool_size())) 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.set_state(DevState.OFF)
self.small_array_r.set_data_ready_event(True) self.array1_r.set_data_ready_event(True)
self.set_change_event("small_array_r", True, True) self.set_change_event("array1_r", True, True)
self.set_archive_event("small_array_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.array4_r.set_data_ready_event(True)
self.set_change_event("big_array_r", True, True) self.set_change_event("array4_r", True, True)
self.set_archive_event("big_array_r", True, True) self.set_archive_event("array4_r", True, True)
self.set_state(DevState.ON) self.set_state(DevState.ON)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment