mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-08 19:42:15 +09:00
Merge pull request #788 from YJSoft/devel-trigger
#785 slow trigger log 추가
This commit is contained in:
commit
fc03dd27b1
2 changed files with 78 additions and 0 deletions
|
|
@ -1147,12 +1147,25 @@ class ModuleHandler extends Handler
|
||||||
{
|
{
|
||||||
return new Object();
|
return new Object();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//store before trigger call time
|
||||||
|
$before_trigger_time = NULL;
|
||||||
|
if(__LOG_SLOW_TRIGGER__> 0)
|
||||||
|
{
|
||||||
|
$before_trigger_time = microtime(true);
|
||||||
|
}
|
||||||
|
|
||||||
foreach($triggers as $item)
|
foreach($triggers as $item)
|
||||||
{
|
{
|
||||||
$module = $item->module;
|
$module = $item->module;
|
||||||
$type = $item->type;
|
$type = $item->type;
|
||||||
$called_method = $item->called_method;
|
$called_method = $item->called_method;
|
||||||
|
|
||||||
|
$before_each_trigger_time = NULL;
|
||||||
|
if(__LOG_SLOW_TRIGGER__> 0)
|
||||||
|
{
|
||||||
|
$before_each_trigger_time = microtime(true);
|
||||||
|
}
|
||||||
|
|
||||||
// todo why don't we call a normal class object ?
|
// todo why don't we call a normal class object ?
|
||||||
$oModule = getModule($module, $type);
|
$oModule = getModule($module, $type);
|
||||||
|
|
@ -1167,6 +1180,57 @@ class ModuleHandler extends Handler
|
||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
unset($oModule);
|
unset($oModule);
|
||||||
|
|
||||||
|
//store after trigger call time
|
||||||
|
$after_each_trigger_time = NULL;
|
||||||
|
//init value to 0
|
||||||
|
$elapsed_time_trigger = 0;
|
||||||
|
|
||||||
|
if(__LOG_SLOW_TRIGGER__> 0)
|
||||||
|
{
|
||||||
|
$after_each_trigger_time = microtime(true);
|
||||||
|
$elapsed_time_trigger = ($after_each_trigger_time - $before_each_trigger_time) * 1000;
|
||||||
|
}
|
||||||
|
|
||||||
|
// if __LOG_SLOW_TRIGGER__ is defined, check elapsed time and leave trigger time log
|
||||||
|
if(__LOG_SLOW_TRIGGER__> 0 && $elapsed_time_trigger > __LOG_SLOW_TRIGGER__)
|
||||||
|
{
|
||||||
|
$buff = '';
|
||||||
|
$log_file = _XE_PATH_ . 'files/_db_slow_trigger.php';
|
||||||
|
if(!file_exists($log_file))
|
||||||
|
{
|
||||||
|
$buff = '<?php exit(); ?' . '>' . "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
$buff .= sprintf("%s\t%s.%s.%s.%s(%s)\n\t%0.6f msec\n\n", date("Y-m-d H:i"), $item->trigger_name,$item->module,$item->called_method,$item->called_position,$item->type, $elapsed_time_trigger);
|
||||||
|
|
||||||
|
@file_put_contents($log_file, $buff, FILE_APPEND|LOCK_EX);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//store after trigger call time
|
||||||
|
$after_trigger_time = NULL;
|
||||||
|
//init value to 0
|
||||||
|
$elapsed_time = 0;
|
||||||
|
if(__LOG_SLOW_TRIGGER__> 0)
|
||||||
|
{
|
||||||
|
$after_trigger_time = microtime(true);
|
||||||
|
$elapsed_time = ($after_trigger_time - $before_trigger_time) * 1000;
|
||||||
|
}
|
||||||
|
|
||||||
|
// if __LOG_SLOW_TRIGGER__ is defined, check elapsed time and leave trigger time log
|
||||||
|
if(__LOG_SLOW_TRIGGER__> 0 && $elapsed_time > __LOG_SLOW_TRIGGER__)
|
||||||
|
{
|
||||||
|
$buff = '';
|
||||||
|
$log_file = _XE_PATH_ . 'files/_slow_trigger.php';
|
||||||
|
if(!file_exists($log_file))
|
||||||
|
{
|
||||||
|
$buff = '<?php exit(); ?' . '>' . "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
$buff .= sprintf("%s\t%s.totaltime\n\t%0.6f msec\n\n", date("Y-m-d H:i"), $trigger_name,$elapsed_time);
|
||||||
|
|
||||||
|
@file_put_contents($log_file, $buff, FILE_APPEND|LOCK_EX);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new Object();
|
return new Object();
|
||||||
|
|
|
||||||
|
|
@ -173,6 +173,20 @@ if(!defined('__LOG_SLOW_QUERY__'))
|
||||||
define('__LOG_SLOW_QUERY__', 0);
|
define('__LOG_SLOW_QUERY__', 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!defined('__LOG_SLOW_TRIGGER__'))
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Trigger excute time log
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* 0: Do not leave a log
|
||||||
|
* > 0: leave a log when the trigger takes over specified milliseconds
|
||||||
|
* Log file is saved as ./files/_db_slow_trigger.php file
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
define('__LOG_SLOW_TRIGGER__', 0);
|
||||||
|
}
|
||||||
|
|
||||||
if(!defined('__DEBUG_QUERY__'))
|
if(!defined('__DEBUG_QUERY__'))
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue