Reporting¶
The ITk Production Database (PDB) holds all the ITk production information. Data can be extracted via scripts using the itkdb python package or directly via API requests (see API documentation).
ITk reporting tools exist to help retrieve sub-sets of PDB information for specific tasks using pre-defined or tunable scripts. Here, several tools are documented. If there is no reporting tool to fit your reporting task then please contact: Kenny
Tools have three types:
- On Demand Reports: data is compiled at the user's request
- Scheduled Dashboards: cronned scripts to produce sharable dashboards
- Alerts: reporting with compilation of "out-of-spec" values
General Comments¶
Reports are written in Python and make use of:
- itkdb package to query PDB
- pandas package for dataframes to wrangle data
- altair package for visualisations
addtionally for dashboard creation:
- Datapane package to compile and distribute reports
Install packages
To install a python package locally:
python -m pip install PACKAGE_NAME
On Demand Reports¶
On demand reports request and compile data from PDB at the user's request.
Scripts are pre-prepared in notebook and webApp format. These can be run as they are or used as template for further development.
Reporting Scripts¶
The ITk-reports repository contains several example notebooks for reporting:
- Component Type Dashboards: what, where, stage, meta-data
- Test Type Dashboards: where, when, data
- Institution Inventory Dashboards: what, stage, meta-data
Documentation and tutorial examples is available here
Reporting WebApps¶
A dedicated reporting webApp contians a couple of themes for general reporting here
Two themes:
Population App:
Retrieved information:
- PDB Stats: overall stats for database
- Project Pops: populations per componentType/testType
- Inventories: populations per Institution
- Plot Param: plot component/test parameter
- Plot Shipments: visualise component travels
Repository: gitLab
Reporting App
“an overview of components at institute and country level with options to select a smaller number of countries or a single institute”
- Also deployed as part of strips and pixels webApps
- QT credit: Conor McPartland
Retrieved information:
- Summary Tables
- Summary Plots
- Detailed Tables
- Detailed Plots
Originally intended for Pixels monitoring components at clusters/instutions on-demand.
Repository: gitLab
WebApp Interface¶
WebApp to run ITk-reports style dashboards on demand.
- QT credit: Nihad Hidic
Intended to ease interface with the general reporting codebase for common report types, e.g. testType dashboard to check upload test data, componentType dashboard to check component sub-type, stages, etc.
Scheduled Dashboards¶
Scheduled are made using scripts from ITk-reports repository and run from Cern's OKD platform:
- Component Type Dashboards (CTDB): what, where, stage, meta-data
- Test Type Dashboards (TTDB): where, when, data
- Institution Inventory Dashboards (IIDB): what, stage, meta-data
A repository of scheduled reports is here
- CTDB, TTDB and IIDB reports are created for populations of database objects where the population is (10,1500) for each project
Alerts¶
Alerts are based in Test Type Dashboards which compile test data for each parameter over sets of uploaded tests.
Additional functionality:
- identify exceptional data points
- collate exceptional values and associated data
- email responsible person(s)
identify exceptional data points
Values can be identified as exceptional as follows:
- Multiples of sigma, i.e. make use of statistical information
- Range max & min, e.g. from specification documents
- Exact matching, i.e. alert if equal
- Non-matching, i.e. alert if not equal
collate exceptional values and associated meta-data
An Alerts tab is added to testType Dashboard report with a table of exceptional values for each parameter (NB components may appear in multiple tables).
The tables include: tested component serialNumber, upload institution of test, stage of test, parameter code & value, reason identified as exceptional
email responsible person(s)
The recipient receives an email with the report summary (number of exeptions per parameter) and a link to full report dashboard.
Set-up an alert¶
Please contact Kenny with:
- PDB testType
- Exception definitions (per parameter)
- Contact email
---¶
Unmaintained¶
Production Population Timelines webApp
WebApp to monitor trends in component production over clusteers/institutions.
- QT credit: Zef Rozario
- Deployment: webApp
- Repository: gitLab