function printPillarSummary()

in rule-count.php [52:117]


function printPillarSummary($reporterJsons){
    $ts = 0;
    $total = [
        'C' => 0,
        'P' => 0,
        'S' => 0,
        'R' => 0,
        'O' => 0
    ];
    $pillarTable = new LucidFrame\Console\ConsoleTable();
    $pillarTable->addHeader('Service');
    
    foreach(PILLARLOOKUP as $pillar => $v)
        $pillarTable->addHeader( addPad($pillar, '_', STR_PAD_BOTH));
    
    $pillarTable->addHeader(addPad('TOTAL', '_', STR_PAD_BOTH));
    
    foreach($reporterJsons as $service => $jsonPath){
        $pillarSumm = pillarSummary($jsonPath);
        
        $pillarTable->addRow();
        $pillarTable->addColumn($service);
        
        foreach(PILLARLOOKUP as $code => $desc){
            if(isset($pillarSumm[$code])){
                $pillarTable->addColumn( addPad($pillarSumm[$code]) );
            }else{
                $pillarTable->addColumn( ' / ');
            }
        }
        
        $s = array_sum($pillarSumm);
        $ts += $s;
        $pillarTable->addColumn(addPad($s));
        
        foreach($pillarSumm as $k => $v){
            $total[$k] += $v;   
        }
    }
    
    $totalServ = sizeof($reporterJsons);
    
    $pillarTable->addRow();
    $pillarTable->addColumn('--------');
    $pillarTable->addRow();
    $pillarTable->addColumn('Total');
    foreach(PILLARLOOKUP as $code => $desc){
        $pillarTable->addColumn( addPad($total[$code]) );
    }
    
    $pillarTable->addColumn( addPad($ts));
    
    $pillarTable->addRow();
    $pillarTable->addColumn('Mean');
    foreach(PILLARLOOKUP as $code => $desc){
        $pillarTable->addColumn( addPad(round($total[$code] / $totalServ, 2)));
    }
    
    $pillarTable->addColumn( addPad(round($ts / $totalServ, 2)));
    
    echo "Service Rules Pillar Count:";
    echo "\n";
    $pillarTable->display();
    
    return;
}