function performance_view_details in Performance Logging and Monitoring 7.2
Same name and namespace in other branches
- 5 performance.module \performance_view_details()
- 6.2 includes/performance.details.inc \performance_view_details()
- 6 performance.module \performance_view_details()
- 7 performance.module \performance_view_details()
Detail page callback.
Return value
array Drupal render array.
1 string reference to 'performance_view_details'
- performance_menu in ./
performance.module - Implements hook_menu().
File
- includes/
performance.details.inc, line 45 - Performance module detail logging related functions. Can be overridden by adding $conf['performance_detail_logging'] = 'path/to/your/file' in settings.php.
Code
function performance_view_details() {
drupal_set_title(t('Performance logs: Details'));
$header = array(
array(
'data' => t('#'),
'field' => 'pid',
'sort' => 'desc',
),
array(
'data' => t('Path'),
'field' => 'path',
),
array(
'data' => t('Date'),
'field' => 'timestamp',
),
array(
'data' => t('Memory (MB)'),
'field' => 'bytes',
),
array(
'data' => t('ms (Total)'),
'field' => 'ms',
),
array(
'data' => t('Language'),
'field' => 'language',
),
array(
'data' => t('Anonymous?'),
'field' => 'anon',
),
);
if (variable_get(PERFORMANCE_QUERY_VAR, 0)) {
$header[] = array(
'data' => t('# Queries'),
'field' => 'query_count',
);
$header[] = array(
'data' => t('Query ms'),
'field' => 'query_timer',
);
}
$pager_height = 50;
$result = db_select('performance_detail', 'p')
->fields('p')
->extend('PagerDefault')
->limit($pager_height)
->extend('TableSort')
->orderByHeader($header)
->execute();
$rows = array();
foreach ($result as $data) {
$row_data = array();
$row_data[] = $data->pid;
$row_data[] = l($data->path, $data->path);
$row_data[] = format_date($data->timestamp, 'small');
$row_data[] = number_format($data->bytes / 1024 / 1024, 2);
$row_data[] = $data->ms;
$row_data[] = $data->language;
$row_data[] = $data->anon ? t('Yes') : t('No');
if (variable_get(PERFORMANCE_QUERY_VAR, 0)) {
$row_data[] = $data->query_count;
$row_data[] = $data->query_timer;
}
$rows[] = array(
'data' => $row_data,
);
}
if (empty($rows) && !variable_get('performance_detail', 0)) {
return array(
'content' => array(
'#markup' => t('Detail performance log is not enabled. Go to the !link to enable it.', array(
'!link' => l(t('settings page'), PERFORMANCE_SETTINGS, array(
'query' => drupal_get_destination(),
)),
)),
),
);
}
elseif (!variable_get('performance_detail', 0)) {
drupal_set_message(t('Detail performance log is not enabled! Showing stored logs.'), 'warning');
}
// Return a renderable array.
return array(
'query_data_detail' => array(
'#theme' => 'table',
'#header' => $header,
'#rows' => $rows,
'#sticky' => TRUE,
'#empty' => t('No log messages available.'),
),
'clear' => array(
'#markup' => l(t('Clear logs'), 'admin/reports/performance-logging/clear/details'),
),
'pager' => array(
'#theme' => 'pager',
'#quantity' => $pager_height,
),
);
}