-
Notifications
You must be signed in to change notification settings - Fork 12
Technical Overview
Dimitris Papagiannis edited this page Jul 19, 2023
·
16 revisions
The frontend is composed of a minimal Python http.server
(in frontend/server.py
) which serves, statically, index.html
which, in turn, includes all the JavaScript files which take care of all the dynamic functinality.
The backend consists of:
- The
Flask
API server (backend/api.py
) - Scripts for background tasks:
-
dqm_extractor.py
which calls the following scripts:oms_extractor.py
rr_extractory.py
-
- Read Configs, get Monitoring elements, setup config metrics
- Add new configs or update old config. We are not removing old configs (but they are not updated with new run information). Even if we update the metric or reference in config used for calculation, we do not change the existed Trends in DB.
- Finds all the GUI ROOT files on EOS. Filtering ROOT files based on version number. Ignore file if it is already in DB.
- Extracts MEs from files and updates Trends
- If run is not known: updates Run, OMS and RR data.
flowchart TD
rr[Run Registry]
oms[OMS API]
subgraph HDQM
subgraph Frontend
feserver["HTML/JS\nserved via http.server"]
end
subgraph Backend
apiserver["API (Flask)\n\n/api/..."]
end
subgraph dqmextractor["dqm_extractor.py"]
rr_extractor
oms_extractor
end
feserver<-->apiserver
end
EOS-->dqmextractor
apiserver<-->db[Database]
dqmextractor-->db
rr-->rr_extractor
oms-->oms_extractor