Example #1
0
include 'start.php';
$sql_id = u::request_val('sql_id');
#
# links to previous sql for sessions
# good for recursive lob sql
#
# - need to change to look at v$open_cursor and find the lob object
# - this would be better, I think
#
$enterprise = $db_obj->enterprise_edition();
$sql = "select distinct prev_sql_id prev_sql_id from v\$session where sql_id = :sql_id and prev_sql_id != :sql_id";
$binds = '';
$binds[] = array(":sql_id", $sql_id);
$cur = $db_obj->exec_sql($sql, $binds);
while ($rec = oci_fetch_object($cur)) {
    p("Prev sql's : " . sql_details_link($sql_id, $db) . "\n");
}
#
# Hidden sql
#
#include 'look_for_hidden_sql.php';
#
# Sql text
#
$sql = "select sql_fulltext sql_fulltext from v\$sqlarea where sql_id = :sql_id";
$binds = '';
$binds[] = array(":sql_id", $sql_id);
p('<pre>');
#
# Links more sql details
#
Example #2
0
$binds = '';
$binds[] = array(":sql_mins_hist", $sql_mins_hist);
$binds[] = array(":session_type", $session_type);
$cur = $db_obj->exec_sql($sql, $binds);
u::start_tag('div', 'style="' . $div_styles_top_10s . '"');
u::start_tag('table', 'id="data1"');
u::tr('<th>sql_id</th><th>% of ' . $sql_mins_hist . ' mins busy</th><th>Execs</th><th>Avg Disk Reads</th><th>Avg Secs</th><th>SQL Text</th>', '', 1);
$i = 0;
while ($rec = oci_fetch_object($cur)) {
    #
    # Row formatting
    #
    $class_str = u::odd_even_class_str($i++);
    u::start_tag('tr', $class_str);
    $highlight_graph_str = "onmouseover=\"highlight('{$rec->SQL_ID}');\" ";
    $sql_cell = "<div {$highlight_graph_str}>" . sql_details_link($rec->SQL_ID, $db) . "</div>";
    u::td($sql_cell, '', 1);
    #
    # Barchart
    #
    $values = array($rec->PERCENT_ON_CPU, $rec->PERCENT_USER_IO, $rec->PERCENT_SYSTEM_IO, $rec->PERCENT_BLOCKED, $rec->PERCENT_OTHER);
    u::start_tag('td', 'style="padding:0px 0px 0px 0px"');
    include 'bar_chart.php';
    u::end_tag('td');
    u::td($rec->EXECS, '', 1);
    u::td($rec->AVG_DISK_READS, '', 1);
    u::td($rec->AVG_SECS, '', 1);
    u::tagged_item('td', $rec->SQL_TEXT, 'style="border-right:0px;font-size:xx-small;font-family:Courier New;"', 1);
    u::end_tag('tr');
}
#
Example #3
0
            td($key);
        }
        p('</tr>');
        $print_header = 0;
    }
    if (@$_GET['all_secs']) {
        u::fill_in_missing_snaps($last_snap_time, $rec->HOUR_MIN_SEC);
        $last_snap_time = $rec->HOUR_MIN_SEC;
    }
    #
    # Row data
    #
    p('<tr>');
    foreach ($rec as $key => $val) {
        if ($key === 'SQL_ID') {
            td(sql_details_link($val, $db));
        } else {
            if ($key === 'CURRENT_OBJ#' and $val > 0) {
                td("<a href=./obj_details.php?db={$db}&obj_id={$val}>{$val}</a>");
            } else {
                if ($key === 'BLOCKING_SESSION' and $val) {
                    td("<a href=./session_drilldown.php?db={$db}&sid={$val}&snaps_table={$snaps_table}>{$val}</a>");
                } else {
                    td($val);
                }
            }
        }
    }
    p('</tr>');
    #p( "<tr><td>$rec->S_TIME</td><td>$rec->SESSION_STATE</td></tr>" );
}
Example #4
0
    u::start_tag('tr', $class_str);
    $sid_cell = "<div " . highlight_js_str($rec->SID) . ">" . drilldown_links($rec->SID, $db, '', $snaps_table) . "</div>";
    u::td($sid_cell, '', 1);
    u::td($rec->USERNAME, '', 1);
    #
    # Covert seconds to % for plotting
    #
    $values = array($rec->SECONDS_ON_CPU, $rec->SECONDS_USER_IO, $rec->SECONDS_SYSTEM_IO, $rec->SECONDS_BLOCKED, $rec->SECONDS_OTHER);
    foreach ($values as $key => $value) {
        $values[$key] = round($value * 100 / ($mins_hist * 60));
    }
    u::start_tag('td', 'style="padding:0;"');
    #
    # Draw percentages as a bar chart
    #
    u::info('Draw Bar chart', 1);
    include 'bar_chart.php';
    u::info('Draw Bar chart - Done', 1);
    u::end_tag('td');
    $highlight_graph_str = "onmouseover=\"highlight('{$rec->CURRENT_BLOCKING_SESSION}');\" ";
    $sid_cell = "<div {$highlight_graph_str}>" . drilldown_links($rec->CURRENT_BLOCKING_SESSION, $db, '', $snaps_table) . "</div>";
    u::td($sid_cell, '', 1);
    u::td("<div " . highlight_js_str($rec->CURRENT_SQL_ID) . ">" . sql_details_link($rec->CURRENT_SQL_ID, $db) . "</div>", '', 1);
    u::td("<div " . highlight_js_str($rec->PREV_SQL_ID) . ">" . sql_details_link($rec->PREV_SQL_ID, $db) . "</div>", '', 1);
    u::td($rec->CURRENT_PROGRAM, '', 1);
    u::td($rec->CURRENT_MACHINE, 'style="border-right:0px;"', 1);
    u::end_tag('tr');
}
u::filler_rows($table_rows, $i, 8);
u::end_tag('table');
u::end_tag('div');