Diferencia entre revisiones de «Usuario:ManuelRomero/proyecto/proyectoIternova/borrador»

De WikiEducator
Saltar a: navegación, buscar
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
    * @param string $value el valor de la propiedad performance_data de un servicio
+
    * @return float  0 si no se encuentra el valor  el tiempo que tarda en ejecutarsi sí si que lo encuentra
+
    * trata de ser un booleano
+
    */
+
    public static function get_value_of_performance_data( $value ) {
+
         //"time=0.013585s;;;0.000000;10.000000"; si ok
+
        //""  si no ok.
+
        $value = trim( $value );
+
        $value = str_replace( [ "time=", "s" ], "", $value );
+
        $value = explode( ";", $value );
+
  
         $value = ($value[ 0 ]);
+
        echo "<h2>MRM ---DEBUGANDO ... en matrices day (media por día)</h2>";
 +
         $matrix = [];
  
        if ( is_numeric( $value ) ) {
 
  
             return (float) $value;
+
 
         } else return null;
+
 
 +
        //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 03: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;
 
    }