Ejemplo n.º 1
0
function printRows($lag, $level)
{
    global $processMap;
    $tpl = Template::getInstance();
    foreach ($lag as $l) {
        if (($l->total < 500000 || LAG_ONLY && $l->lagTotal < 500000) && !NOFILTER) {
            continue;
        }
        $lagTicks = (int) $tpl->masterHandler->lagCount;
        $count = (int) (LAG_ONLY ? $l->lagCount : $l->count);
        if ($count === 0 || LAG_ONLY && $lagTicks === 0) {
            continue;
        }
        openRow($level, $l);
        printRecord($l);
        $id = $l->id->id;
        $h = $tpl->handlerData[$id];
        if (!empty($h->children) && ++$processMap[$id] == 1) {
            if (!NOFILTER) {
                $children = array_filter($h->children, 'lagFilter');
            } else {
                $children = $h->children;
            }
            if (!empty($children)) {
                $children = array_map(function ($v) {
                    $tpl = Template::getInstance();
                    $h = $tpl->handlerData[$v->id->id];
                    $v->children = $h->children;
                    return $v;
                }, $children);
                usort($children, 'lagSort');
                echo '<div class="children">';
                printRows($children, $level + 1);
                echo '</div>';
            }
            --$processMap[$id];
        }
        closeRow();
    }
}
Ejemplo n.º 2
0
        echo "</tr>\n";
    }
    echo "</table>";
}
/*
 * Esta es una variable que carga el resultado de la lectura de un JSON.
 */
$resultadoJSON = file_get_contents('resultado_consulta.json');
/*
 * Se codifica el JSON como una variable PHP.
 */
$resultadoJSON = json_decode($resultadoJSON, true);
/*
 * Se imprime en pantalla las filas para comodidad del usuario.
 */
printRows($resultadoJSON);
/*
 * Las llaves de la consulta jerárquica se guardan en orden en un arreglo.
 */
$idsLlaves = array('id_modalidad', 'id_sede', 'id_profesional');
/*
 * Se ingresan los parámetros de Filas del SQL y las respectivas llaves que se establecieron en la consulta.
 */
$resultadoArray = unificarResultadosPorNiveles($resultadoJSON, $idsLlaves);
/*
 * Se imprime en pantalla en código en JSON.
 */
echo "<h3>Resultado en JSON:</h3>";
echo '<pre>';
echo json_encode($resultadoArray, JSON_PRETTY_PRINT);
echo '</pre>';
Ejemplo n.º 3
0
function printRows($lag, $level)
{
    global $processMap;
    $tpl = Template::getInstance();
    foreach ($lag as $l) {
        if ($l->lagTotal < 500000) {
            //			continue;
        }
        printRecord($l, $level);
        $id = $l->id->id;
        $h = $tpl->handlerData[$id];
        if (!empty($h->children) && ++$processMap[$id] == 1) {
            $children = array_filter($h->children, 'lagFilter');
            if (!empty($children)) {
                $children = array_map(function ($v) {
                    $tpl = Template::getInstance();
                    $h = $tpl->handlerData[$v->id->id];
                    $v->children = $h->children;
                    return $v;
                }, $children);
                usort($children, 'lagSort');
                printRows($children, $level + 1);
            }
            --$processMap[$id];
        }
    }
}
Ejemplo n.º 4
0
 * @license MIT
 */
use Starlis\Timings\Json\TimingHandler;
use Starlis\Timings\Json\TimingsMaster;
use Starlis\Timings\Template;
use Starlis\Timings\util;
/**
 * @var TimingsMaster $timingsData
 */
$timingsData = TimingsMaster::getInstance();
echo '<pre>';
echo "Timings cost: {$cost} - " . $cost * $totalTimings . " - Pct: " . round($cost * $totalTimings / ($timingsData->sampletime * 1000000000 / 100), 2);
echo "%</pre>\n";
echo '<h5>Installed Plugins:</h5>' . "\n";
$plugins = $timingsData->plugins;
printRows($plugins);
/**
 * @param $depth
 * @param TimingHandler $l
 *
 * @return string
 */
function openRow($depth, $id)
{
    static $i;
    $num = $depth % 5;
    $indents = "<div class='indent depth{$num} full-depth{$depth}'></div>";
    echo "<div class='full-timing-row'>{$indents}<div id='{$id}' class='timing-row'><a href='#{$id}'># </a>";
}
function closeRow()
{