-
Notifications
You must be signed in to change notification settings - Fork 2
Description
As an instrument scientist, I would like the PV Selector dialogue to appear more quickly (it takes so long I think the GUI has died).
See #4922 as well which talks about reducing cpu load of the dbsrv.
Acceptance Criteria
- PV selection dialogue appear in < 1s
Notes
I think the filter in the GUI is slow because it takes the list of all PVs and filters it by the list of interest X PVs and active. This is an nxm time filter which is quite big. I would suggest the all list has metadata added which is interest level and IOC. The list is then filtered by interest and IOCs that appear in IOCS PV. But please think about this yourself.
Code in the GUI is uk.ac.stfc.isis.ibex.ui.configserver.editing.pvs.PVSelectorPanel.setConfig the slow bits appear to be:
- blockPVTable.setRows(config.pvs());
- selectionChanged on source change
- selectionChanged on interest change
and possibly the refresh function in uk.ac.stfc.isis.ibex.ui.configserver.editing.pvs.PVSelectorPanel.addFilterListener
It maybe that the number of PVs can be reduced so that more information is put into a smaller number of PVs. The current pvs are (CS:BLOCKSSERVER:{}):
- PVS:ALL
- PVS:INTEREST:HIGH
- PVS:INTEREST:MEDIUM
- PVS:INTEREST:FACILITY
- PVS:ACTIVE
These should not update every second the code to do this is inst_server/DatabaseServer/database_server.py ln 191 (in DBSVR).