Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
T
tango
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Jira issues
Open Jira
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
LOFAR2.0
tango
Commits
fd302a22
Commit
fd302a22
authored
3 years ago
by
Thomas Juerges
Browse files
Options
Downloads
Patches
Plain Diff
L2SS-245
: use four arrays of equal size
parent
b1c8c651
No related branches found
No related tags found
1 merge request
!96
L2SS-245: "Investigation monitoring load"
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
devices/test/devices/monitoring_performance_test.py
+54
-33
54 additions, 33 deletions
devices/test/devices/monitoring_performance_test.py
with
54 additions
and
33 deletions
devices/test/devices/monitoring_performance_test.py
+
54
−
33
View file @
fd302a22
...
@@ -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
=
10000
00
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
(
array
4
_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
.
array
4
_r
.
set_data_ready_event
(
True
)
self
.
set_change_event
(
"
big_
array_r
"
,
True
,
True
)
self
.
set_change_event
(
"
array
4
_r
"
,
True
,
True
)
self
.
set_archive_event
(
"
big_
array_r
"
,
True
,
True
)
self
.
set_archive_event
(
"
array
4
_r
"
,
True
,
True
)
self
.
set_state
(
DevState
.
ON
)
self
.
set_state
(
DevState
.
ON
)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment