function tr($str, $extra = '') { u::tr($str, $extra); }
static function filler_row($num_cells = 1, $extra = '', $cell_content = ' ') { $cells = ''; for ($i = 1; $i <= $num_cells; $i++) { # # Last cell? # - remove right border on this, done by container div # if ($i === $num_cells) { $td_extra = ' style="border-right:0px;"'; } else { $td_extra = ''; } $cells = $cells . u::tagged('td', $cell_content, $td_extra); } u::tr($cells, $extra); }
$binds = ''; $binds[] = array(":mins_hist", $mins_hist); $cur = $db_obj->exec_sql($sql, $binds); $last_snap_time = $oracle_sysdate; while ($rec = oci_fetch_object($cur)) { $col++; $div_id = $rec->SAMPLE_TIME . '_' . $rec->SESSION_ID; u::start_tag('div', 'id="' . $div_id . '" class="sess_detail" style="display:none;position:absolute;top:270px;left:100px;border:2px solid black"'); u::start_tag('table', 'class="data1"'); u::tr("<th>Info</th><th>Value</th>"); u::tr("<td>Time</td><td>" . $rec->SAMPLE_TIME . "</td>", 'class=alt'); u::tr("<td>State</td><td>" . $rec->SESSION_STATE . "</td>"); u::tr("<td>Waitclass</td><td>" . $rec->WAIT_CLASS . "</td>", 'class=alt'); u::tr("<td>SID</td><td>" . $rec->SESSION_ID . "</td>"); u::tr("<td>Program</td><td>" . $rec->PROGRAM . "</td>", 'class=alt'); # # session running some sql? # if ($rec->SQL_ID) { u::tr("<td>sqlid</td><td>" . $rec->SQL_ID . "</td>"); } # # Blocked? # if ($rec->BLOCKING_SESSION) { u::tr("<td>Blocked by</td><td>" . $rec->BLOCKING_SESSION . "</td>"); } u::end_tag('table'); u::end_tag('div'); } oci_free_statement($cur);
, CASE when length( sql_text ) < 200 then sql_text else substr( sql_text, 1, 197 ) || '...' end sql_text FROM top_sql_agg ORDER BY busy_count DESC __SQL_END; $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"');
, s.program current_program , seconds_busy - seconds_on_cpu - seconds_user_io - seconds_system_io - seconds_blocked seconds_other FROM session_busy_details sbd LEFT OUTER JOIN v\$session s ON s.sid = sbd.sid AND s.user# = sbd.user_id ORDER BY sbd.seconds_busy DESC __SQL_END; $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 . '"'); $chart_top = $chart_top + $chart_height + 10; u::start_tag('table', 'id="data1"'); u::tr('<th>sid</th><th>User</th><th>% of ' . $sql_mins_hist . ' mins busy</th><th>Blocked by</th><th>Sql ID</th><th>Prev Sql ID</th><th>Program</th><th>Machine</th>'); $i = 0; while ($rec = oci_fetch_object($cur)) { # # Row formatting # $class_str = u::odd_even_class_str($i++); 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) {