Esempio n. 1
0
// Stop chrono if not already done
$chrono = CApp::$chrono;
if ($chrono->step > 0) {
    $chrono->stop();
}
$log->duration += round(floatval($chrono->total), 3);
// System probes
$rusage = getrusage();
$log->processus += round(floatval($rusage["ru_utime.tv_usec"]) / 1000000 + $rusage["ru_utime.tv_sec"], 3);
$log->processor += round(floatval($rusage["ru_stime.tv_usec"]) / 1000000 + $rusage["ru_stime.tv_sec"], 3);
$log->peak_memory += memory_get_peak_usage();
// SQL stats
$log->request += round(floatval($ds->chrono->total), 3);
$log->nb_requests += $ds->chrono->nbSteps;
// Bandwidth
$log->size += CApp::getOuputBandwidth();
//$log->other_bandwidth += CApp::getOtherBandwidth();
// Error log stats
$log->errors += CApp::$performance["error"];
$log->warnings += CApp::$performance["warning"];
$log->notices += CApp::$performance["notice"];
CAccessLog::bufferize(array($log));
if (!CAppUI::conf("log_datasource_metrics")) {
    return;
}
$dslogs = array();
foreach (CSQLDataSource::$dataSources as $_datasource) {
    if ($_datasource) {
        $dslog = new CDataSourceLog();
        $dslog->module_action_id = $log->module_action_id;
        $dslog->datasource = $_datasource->dsn;