\hypertarget{__performances_8timers_8php}{\section{Riferimenti per il file \-\_\-src/\-\_\-lib/\-\_\-performances.timers.\-php}
\label{de/d3f/__performances_8timers_8php}\index{\-\_\-src/\-\_\-lib/\-\_\-performances.\-timers.\-php@{\-\_\-src/\-\_\-lib/\-\_\-performances.\-timers.\-php}}
}


in questo file vengono definite le funzioni di gestione dei timers  


\subsection*{Funzioni}
\begin{DoxyCompactItemize}
\item 
\hyperlink{__performances_8timers_8php_a30d19d52785cbbfbc88f19341a709daa_a30d19d52785cbbfbc88f19341a709daa}{start\-Timer} (\$t)
\begin{DoxyCompactList}\small\item\em questa funzione avvia un timer \end{DoxyCompactList}\item 
\hyperlink{__performances_8timers_8php_a20da17c3a46287271dd8107b1757d13f_a20da17c3a46287271dd8107b1757d13f}{timer\-Is\-Running} (\$t)
\begin{DoxyCompactList}\small\item\em questa funzione verifica se un timer e' attivo o meno \end{DoxyCompactList}\item 
\hyperlink{__performances_8timers_8php_a7dcb67c0363cb2f43b64199f5ef04994_a7dcb67c0363cb2f43b64199f5ef04994}{check\-Timer} (\$t)
\begin{DoxyCompactList}\small\item\em questa funzione calcola il valore di corsa di un timer \end{DoxyCompactList}\item 
\hyperlink{__performances_8timers_8php_a8a28ba602c1c532fc9574e1841d3fcac_a8a28ba602c1c532fc9574e1841d3fcac}{check\-Partial\-Timer} (\$t, \$i)
\begin{DoxyCompactList}\small\item\em questa funzione segna un intertempo \end{DoxyCompactList}\item 
\hyperlink{__performances_8timers_8php_a30792d6c67d81b9c05685fcada1f8774_a30792d6c67d81b9c05685fcada1f8774}{stop\-Timer} (\$t)
\begin{DoxyCompactList}\small\item\em questa funzione ferma un timer \end{DoxyCompactList}\item 
\hyperlink{__performances_8timers_8php_aeb0c72ea8dc7e19a666828479e18da30_aeb0c72ea8dc7e19a666828479e18da30}{stop\-All\-Timers} ()
\begin{DoxyCompactList}\small\item\em questa funzione ferma tutti i timer \end{DoxyCompactList}\item 
\hyperlink{__performances_8timers_8php_adb7997336501d5d6a844bee277912baa_adb7997336501d5d6a844bee277912baa}{write\-Timer} (\$t)
\begin{DoxyCompactList}\small\item\em questa funzione scrive il valore corrente di corsa di un timer \end{DoxyCompactList}\item 
\hyperlink{__performances_8timers_8php_a90ef56ec98a8ff02bd3701b1a03c60c4_a90ef56ec98a8ff02bd3701b1a03c60c4}{sum\-Elapsed\-Times} (\$t)
\end{DoxyCompactItemize}


\subsection{Descrizione dettagliata}
in questo file vengono definite le funzioni di gestione dei timers la gestione dei cronometri e' fondamentale per il monitoraggio delle prestazioni della piattaforma; tutti i timers sono registrati sotto \$cf\mbox{[}'performances'\mbox{]}\mbox{[}'timers'\mbox{]} e sono identificati da un'etichetta; ogni timer ha un tempo di avvio \mbox{[}'started'\mbox{]} uno di fine lavoro \mbox{[}'stopped'\mbox{]} e il tempo totale di corsa \mbox{[}'elapsed'\mbox{]} nonche' gli intertempi \mbox{[}'check\-Points'\mbox{]} salvati come differenza rispetto al tempo di avvio

\begin{DoxyRefDesc}{Da fare}
\item[\hyperlink{todo__todo000031}{Da fare}]bisogna ricordarsi di fermare tutti i timers eventualmente ancora attivi alla fine dell'esecuzione dello script\end{DoxyRefDesc}


\subsection{Documentazione delle funzioni}
\hypertarget{__performances_8timers_8php_a8a28ba602c1c532fc9574e1841d3fcac_a8a28ba602c1c532fc9574e1841d3fcac}{\index{\-\_\-performances.\-timers.\-php@{\-\_\-performances.\-timers.\-php}!check\-Partial\-Timer@{check\-Partial\-Timer}}
\index{check\-Partial\-Timer@{check\-Partial\-Timer}!_performances.timers.php@{\-\_\-performances.\-timers.\-php}}
\subsubsection[{check\-Partial\-Timer}]{\setlength{\rightskip}{0pt plus 5cm}check\-Partial\-Timer (
\begin{DoxyParamCaption}
\item[{}]{\$t, }
\item[{}]{\$i}
\end{DoxyParamCaption}
)}}\label{de/d3f/__performances_8timers_8php_a8a28ba602c1c532fc9574e1841d3fcac_a8a28ba602c1c532fc9574e1841d3fcac}


questa funzione segna un intertempo 

la funzione calcola la differenza tra il tempo di avvio del timer \$t e il tempo attuale e lo assegna all'intertempo \$i


\begin{DoxyParams}[1]{Parametri}
string & {\em \$t} & l'etichetta del cronometro da avviare \\
\hline
string & {\em \$i} & l'etichetta dell'intertempo da segnare \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Restituisce}
boolean restituisce true se e' tutto ok oppure false se il timer non esiste
\end{DoxyReturn}
\begin{DoxyRefDesc}{Da fare}
\item[\hyperlink{todo__todo000035}{Da fare}]a questa funzione manca la test unit 

non ancora del tutto implementata\end{DoxyRefDesc}
\hypertarget{__performances_8timers_8php_a7dcb67c0363cb2f43b64199f5ef04994_a7dcb67c0363cb2f43b64199f5ef04994}{\index{\-\_\-performances.\-timers.\-php@{\-\_\-performances.\-timers.\-php}!check\-Timer@{check\-Timer}}
\index{check\-Timer@{check\-Timer}!_performances.timers.php@{\-\_\-performances.\-timers.\-php}}
\subsubsection[{check\-Timer}]{\setlength{\rightskip}{0pt plus 5cm}check\-Timer (
\begin{DoxyParamCaption}
\item[{}]{\$t}
\end{DoxyParamCaption}
)}}\label{de/d3f/__performances_8timers_8php_a7dcb67c0363cb2f43b64199f5ef04994_a7dcb67c0363cb2f43b64199f5ef04994}


questa funzione calcola il valore di corsa di un timer 

la funzione calcola la differenza tra il tempo di avvio del timer \$t e il tempo attuale (se il timer e' attivo) o il tempo di stop (se e' fermo) e la scrive nella chiave \mbox{[}'elapsed'\mbox{]} di \$t


\begin{DoxyParams}[1]{Parametri}
string & {\em \$t} & l'etichetta del cronometro per cui calcolare il tempo di corsa \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Restituisce}
float restituisce il valore di \mbox{[}'elapsed'\mbox{]}
\end{DoxyReturn}
\begin{DoxyRefDesc}{Da fare}
\item[\hyperlink{todo__todo000034}{Da fare}]a questa funzione manca la test unit 

non ancora implementata\end{DoxyRefDesc}
\hypertarget{__performances_8timers_8php_a30d19d52785cbbfbc88f19341a709daa_a30d19d52785cbbfbc88f19341a709daa}{\index{\-\_\-performances.\-timers.\-php@{\-\_\-performances.\-timers.\-php}!start\-Timer@{start\-Timer}}
\index{start\-Timer@{start\-Timer}!_performances.timers.php@{\-\_\-performances.\-timers.\-php}}
\subsubsection[{start\-Timer}]{\setlength{\rightskip}{0pt plus 5cm}start\-Timer (
\begin{DoxyParamCaption}
\item[{}]{\$t}
\end{DoxyParamCaption}
)}}\label{de/d3f/__performances_8timers_8php_a30d19d52785cbbfbc88f19341a709daa_a30d19d52785cbbfbc88f19341a709daa}


questa funzione avvia un timer 

per avviarlo semplicemente inserisce il valore corrente di tempo nella chiave \mbox{[}'started'\mbox{]} sotto l'etichetta \$t dell'array dei timers \$cf\mbox{[}'performances'\mbox{]}\mbox{[}'timers'\mbox{]}


\begin{DoxyParams}[1]{Parametri}
string & {\em \$t} & l'etichetta del cronometro da fermare \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Restituisce}
boolean restituisce true se e' tutto ok, false se il timer esiste gia'
\end{DoxyReturn}
\begin{DoxyRefDesc}{Da fare}
\item[\hyperlink{todo__todo000032}{Da fare}]a questa funzione manca la test unit\end{DoxyRefDesc}
\hypertarget{__performances_8timers_8php_aeb0c72ea8dc7e19a666828479e18da30_aeb0c72ea8dc7e19a666828479e18da30}{\index{\-\_\-performances.\-timers.\-php@{\-\_\-performances.\-timers.\-php}!stop\-All\-Timers@{stop\-All\-Timers}}
\index{stop\-All\-Timers@{stop\-All\-Timers}!_performances.timers.php@{\-\_\-performances.\-timers.\-php}}
\subsubsection[{stop\-All\-Timers}]{\setlength{\rightskip}{0pt plus 5cm}stop\-All\-Timers (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{de/d3f/__performances_8timers_8php_aeb0c72ea8dc7e19a666828479e18da30_aeb0c72ea8dc7e19a666828479e18da30}


questa funzione ferma tutti i timer 

la funzione chiama \hyperlink{__performances_8timers_8php_a30792d6c67d81b9c05685fcada1f8774_a30792d6c67d81b9c05685fcada1f8774}{stop\-Timer()} per tutti i cronometri attivi

\begin{DoxyReturn}{Restituisce}
boolean restituisce true se e' tutto ok, false se non ci sono timers attivi
\end{DoxyReturn}
\begin{DoxyRefDesc}{Da fare}
\item[\hyperlink{todo__todo000037}{Da fare}]a questa funzione manca la test unit 

non ancora implementata\end{DoxyRefDesc}
\hypertarget{__performances_8timers_8php_a30792d6c67d81b9c05685fcada1f8774_a30792d6c67d81b9c05685fcada1f8774}{\index{\-\_\-performances.\-timers.\-php@{\-\_\-performances.\-timers.\-php}!stop\-Timer@{stop\-Timer}}
\index{stop\-Timer@{stop\-Timer}!_performances.timers.php@{\-\_\-performances.\-timers.\-php}}
\subsubsection[{stop\-Timer}]{\setlength{\rightskip}{0pt plus 5cm}stop\-Timer (
\begin{DoxyParamCaption}
\item[{}]{\$t}
\end{DoxyParamCaption}
)}}\label{de/d3f/__performances_8timers_8php_a30792d6c67d81b9c05685fcada1f8774_a30792d6c67d81b9c05685fcada1f8774}


questa funzione ferma un timer 

la funzione scrive il valore di tempo corrente \mbox{[}'stopped'\mbox{]} per il timer \$t dopodiche' chiama check\-Timer( \$t ) per settare il valore di \mbox{[}'elapsed'\mbox{]}


\begin{DoxyParams}[1]{Parametri}
string & {\em \$t} & l'etichetta del cronometro da avviare \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Restituisce}
boolean restituisce true se il timer era attivo, false se era gia' fermo o se non esiste
\end{DoxyReturn}
\begin{DoxyRefDesc}{Da fare}
\item[\hyperlink{todo__todo000036}{Da fare}]a questa funzione manca la test unit 

non ancora implementata\end{DoxyRefDesc}
\hypertarget{__performances_8timers_8php_a90ef56ec98a8ff02bd3701b1a03c60c4_a90ef56ec98a8ff02bd3701b1a03c60c4}{\index{\-\_\-performances.\-timers.\-php@{\-\_\-performances.\-timers.\-php}!sum\-Elapsed\-Times@{sum\-Elapsed\-Times}}
\index{sum\-Elapsed\-Times@{sum\-Elapsed\-Times}!_performances.timers.php@{\-\_\-performances.\-timers.\-php}}
\subsubsection[{sum\-Elapsed\-Times}]{\setlength{\rightskip}{0pt plus 5cm}sum\-Elapsed\-Times (
\begin{DoxyParamCaption}
\item[{}]{\$t}
\end{DoxyParamCaption}
)}}\label{de/d3f/__performances_8timers_8php_a90ef56ec98a8ff02bd3701b1a03c60c4_a90ef56ec98a8ff02bd3701b1a03c60c4}
\hypertarget{__performances_8timers_8php_a20da17c3a46287271dd8107b1757d13f_a20da17c3a46287271dd8107b1757d13f}{\index{\-\_\-performances.\-timers.\-php@{\-\_\-performances.\-timers.\-php}!timer\-Is\-Running@{timer\-Is\-Running}}
\index{timer\-Is\-Running@{timer\-Is\-Running}!_performances.timers.php@{\-\_\-performances.\-timers.\-php}}
\subsubsection[{timer\-Is\-Running}]{\setlength{\rightskip}{0pt plus 5cm}timer\-Is\-Running (
\begin{DoxyParamCaption}
\item[{}]{\$t}
\end{DoxyParamCaption}
)}}\label{de/d3f/__performances_8timers_8php_a20da17c3a46287271dd8107b1757d13f_a20da17c3a46287271dd8107b1757d13f}


questa funzione verifica se un timer e' attivo o meno 

la funzione controlla se il timer indicato ha un valore di \mbox{[}'stopped'\mbox{]} maggiore di zero o no


\begin{DoxyParams}[1]{Parametri}
string & {\em \$t} & l'etichetta del cronometro da controllare \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Restituisce}
boolean restituisce true se il timer e' attivo, false altrimenti
\end{DoxyReturn}
\begin{DoxyRefDesc}{Da fare}
\item[\hyperlink{todo__todo000033}{Da fare}]a questa funzione manca la test unit\end{DoxyRefDesc}
\hypertarget{__performances_8timers_8php_adb7997336501d5d6a844bee277912baa_adb7997336501d5d6a844bee277912baa}{\index{\-\_\-performances.\-timers.\-php@{\-\_\-performances.\-timers.\-php}!write\-Timer@{write\-Timer}}
\index{write\-Timer@{write\-Timer}!_performances.timers.php@{\-\_\-performances.\-timers.\-php}}
\subsubsection[{write\-Timer}]{\setlength{\rightskip}{0pt plus 5cm}write\-Timer (
\begin{DoxyParamCaption}
\item[{}]{\$t}
\end{DoxyParamCaption}
)}}\label{de/d3f/__performances_8timers_8php_adb7997336501d5d6a844bee277912baa_adb7997336501d5d6a844bee277912baa}


questa funzione scrive il valore corrente di corsa di un timer 

la funzione chiama check\-Timer( \$t ) per settare \mbox{[}'elapsed'\mbox{]} dopodiche' ne scrive il valore


\begin{DoxyParams}[1]{Parametri}
string & {\em \$t} & l'etichetta del cronometro da avviare \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Restituisce}
float$|$boolean la durata della corsa del cronometro oppure false se il cronometro non esiste
\end{DoxyReturn}
\begin{DoxyRefDesc}{Da fare}
\item[\hyperlink{todo__todo000038}{Da fare}]a questa funzione manca la test unit\end{DoxyRefDesc}
