Metrics Generation¶
1. General description¶
GENERAL METRICS¶
Metrics functionality allows user to have a snapshot of states of all sites for a given ROC (daily or monthly). Dynamic metrics are added by users operations 
For each site metrics shown are :
Static metrics :
These metrics are generated once a day during night, at 2h00 CET.
- Number of new alarms (a)
 - Number of assigned alarms
 - Number of new alarms < 24h (b)
 - Number of new alarms < 48h (c)
 - Number of new alarms < 72h (d)
 - Number of new alarms > 72h (e)
 - Number of opened tickets (f)
 - Number of tickets expiring during the day (g)
 - Number of expired tickets (h)
NB : a = b + c + d + e and f >= g + h 
Dynamic metrics :
These metrics show the activity between the generation time and the consultation time.
- Number of alarms closed (excluding its masked alarms) (a)
 - Number of alarms closed with an OK status (b)
 - Number of alarms closed with an « non OK » status (c)
 - Number of opened tickets
 - Number of closed tickets
 - Quality metric = b/a
NB : a = b + c 
C-COD METRICS¶
C-COD Metrics show an snapshot of C-COD Alerts for all or a given ROC (daily or monthly). These metrics are generated once a day during night, at 2h10 CET.
There are 5 possible alerts :- New Alarms older than 72
 - Ticket transfered to C-COD
 - Ticket Unsolved since one month
 - Ticket Expired
 - Downtime longer than one month
 
For each alarm, the number of occurrences is shown.
ROD WORKLOAD METRICS¶
ROD workload metrics show an snapshot of ROD workload for all or a given ROC (daily or monthly) (alarm or ticket that the relevant party (C-COD, ROD, 1st line) should take action upon)
its formula is : (number of alarms > 24h) + nb tickets expiring + nb tickets expired
To consult metrics :
https://operations-portal.in2p3.fr/index.php/dashboard/metrics
https://operations-portal.in2p3.fr/index.php/dashboard/codMetrics
2. Technical description¶
There are 2 Symfony actions to generate metrics in the « cron » module (in \trunk\apps\frontend\modules\cron\actions\actions.class.php) :- executeMetricsGeneration for general metrics
 - executeCodMetricsGeneration for C-COD metrics
 
3. Dependancies - Workflow¶
Dependencies :¶
General metrics :
- classes : siteList, alarmsList, ticketsList
 - tables : METRICS
 
CCOD metrics :
- classes : ccodList
 - tables : COD_METRICS
 
Metrics generations are triggered by 2 Lavoisier views :
« ccod_metrics » triggered at 2h10 CET
 « metrics »  triggered at 2h00 CET
Metrics are stored in 2 BDD Tables : COD_METRICS and METRICS
General metrics have dynamic data that are updated by users operations. When a user create, update, close, an alarm, a ticket, the relevant metrics are updated. All functions updating metrics are implemented in the metricsHandler class (operation-portal/apps/frontend/lib/metricsHandler.php).
NB : TO KEEP A RECORD A DAY,  EACH TIME A METRICS GENERATION ACTION IS CALLED, METRICS OF THE CURRENT DAY ARE DELETED BEFORE !
METRICS GENERATION ACTIONS CAN BE DIRECTLY CALLED VIA A WEB BROWSER IF LAVOISIER IS IN DOWNTIME.