Diferencia entre revisiones de «Usuario:ManuelRomero/proyecto/proyectoIternova/borrador»
De WikiEducator
Línea 1: | Línea 1: | ||
<source lang=php> | <source lang=php> | ||
− | + | public static function create_matrices_days( $data, $interval, $list_services ) { | |
− | + | //En este caso queremos sacar un valor por día que sea la media de de ese día | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | // | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | $ | + | echo "<h2>MRM ---DEBUGANDO ... en matrices day (media por día)</h2>"; |
+ | $matrix = []; | ||
− | |||
− | + | ||
− | } | + | |
+ | //Inicializo el primer nivel del array | ||
+ | $matrix[ 'host' ] = array_values( $data )[ 0 ]->host_id; | ||
+ | $matrix[ 'date' ] = []; //Será un array indexado de las diferentes fechas | ||
+ | $matrix[ 'services' ] = []; //Array asociativo con cada servicio cada uno tendrá un arrau con los índices | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | foreach ( $data as $data_host_day ) { //cada día registrado a un host concreto | ||
+ | // // //Ahora recorremos para cada documento (host - día) | ||
+ | // //primero inicializamos las fechas | ||
+ | // | ||
+ | // | ||
+ | // | ||
+ | //// | ||
+ | $s = substr( $data_host_day->timestamp, 0, 10 ); | ||
+ | $f_d = date( 'd-m-Y', strtotime( $s ) ); | ||
+ | |||
+ | $matrix[ 'date' ][] = $f_d; | ||
+ | |||
+ | |||
+ | foreach ( $list_services as $service ) { | ||
+ | // //inicializo el array | ||
+ | // | ||
+ | $indexes_service = array_keys( $data_host_day->data[ $service ] ); | ||
+ | // //inicializo la fecha | ||
+ | |||
+ | // | ||
+ | foreach ( $indexes_service as $index_service ) { | ||
+ | // //primer inicializo la matriz | ||
+ | // //me interesan solo los múltiplos de 30 | ||
+ | // //Calculamos la media de cada hora | ||
+ | for ( $h = 0; $h <= 23; $h++ ) { | ||
+ | // Logs_Controller::vardump( $h ); | ||
+ | // Logs_Controller::vardump( $index_service ); | ||
+ | // Logs_Controller::vardump( $service ); | ||
+ | |||
+ | $data_min_avg[] = Monitorizacion_Controller_Services::array_avg( $data_host_day->data[ $service ][ $index_service ][ $h ] ); | ||
+ | }//end while $hour | ||
+ | |||
+ | |||
+ | |||
+ | $matrix[ 'services' ][ $service ][ $index_service ][] = Monitorizacion_Controller_Services::array_avg( $data_min_avg ); | ||
+ | |||
+ | |||
+ | // Logs_Controller::vardump( $data_min_avg ); | ||
+ | // Logs_Controller::vardump( $matrix ); | ||
+ | }//End foreach index (indices de los servicios | ||
+ | // // echo "FECHA - VALOR SERVICIO<br/>"; | ||
+ | //// foreach ( $matrix as $f => $v ) { | ||
+ | //// echo "$f - $v<br />"; | ||
+ | }//End foreach $services | ||
+ | }//end foreach $data | ||
+ | // //ver matriz | ||
+ | // echo "<h2>MRM ---DEBUGANDO ... matriz con medias por día </h2>"; | ||
+ | Logs_Controller::vardump( $matrix ); | ||
+ | // | ||
+ | |||
+ | |||
+ | return $matrix; | ||
} | } | ||
</source> | </source> |
Revisión de 04:05 8 sep 2017
public static function create_matrices_days( $data, $interval, $list_services ) { //En este caso queremos sacar un valor por día que sea la media de de ese día echo "<h2>MRM ---DEBUGANDO ... en matrices day (media por día)</h2>"; $matrix = []; //Inicializo el primer nivel del array $matrix[ 'host' ] = array_values( $data )[ 0 ]->host_id; $matrix[ 'date' ] = []; //Será un array indexado de las diferentes fechas $matrix[ 'services' ] = []; //Array asociativo con cada servicio cada uno tendrá un arrau con los índices foreach ( $data as $data_host_day ) { //cada día registrado a un host concreto // // //Ahora recorremos para cada documento (host - día) // //primero inicializamos las fechas // // // //// $s = substr( $data_host_day->timestamp, 0, 10 ); $f_d = date( 'd-m-Y', strtotime( $s ) ); $matrix[ 'date' ][] = $f_d; foreach ( $list_services as $service ) { // //inicializo el array // $indexes_service = array_keys( $data_host_day->data[ $service ] ); // //inicializo la fecha // foreach ( $indexes_service as $index_service ) { // //primer inicializo la matriz // //me interesan solo los múltiplos de 30 // //Calculamos la media de cada hora for ( $h = 0; $h <= 23; $h++ ) { // Logs_Controller::vardump( $h ); // Logs_Controller::vardump( $index_service ); // Logs_Controller::vardump( $service ); $data_min_avg[] = Monitorizacion_Controller_Services::array_avg( $data_host_day->data[ $service ][ $index_service ][ $h ] ); }//end while $hour $matrix[ 'services' ][ $service ][ $index_service ][] = Monitorizacion_Controller_Services::array_avg( $data_min_avg ); // Logs_Controller::vardump( $data_min_avg ); // Logs_Controller::vardump( $matrix ); }//End foreach index (indices de los servicios // // echo "FECHA - VALOR SERVICIO<br/>"; //// foreach ( $matrix as $f => $v ) { //// echo "$f - $v<br />"; }//End foreach $services }//end foreach $data // //ver matriz // echo "<h2>MRM ---DEBUGANDO ... matriz con medias por día </h2>"; Logs_Controller::vardump( $matrix ); // return $matrix; }