mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-04-02 01:52:10 +09:00
Only record the same error or query once
PHP 8.2로 올라오면서 동일한 오류가 수백~수천 번 반복되어 디버그 데이터가 너무 많은 메모리를 차지하는 문제가 종종 발생하고 있음. 동일한 위치에서 발생한 동일한 오류나 쿼리는 한 번만 기록하고 count를 증가시키도록 하여, 불필요한 메모리 사용을 줄이고 반복되는 오류나 쿼리를 쉽게 찾을 수 있도록 개선함.
This commit is contained in:
parent
968bde2c38
commit
a1bd9cc2bc
3 changed files with 97 additions and 19 deletions
|
|
@ -51,11 +51,18 @@ Debug Entries
|
|||
$entry->message = trim(preg_replace('/\r?\n/', "\n" . ' ', print_r($entry->message, true)));
|
||||
}
|
||||
echo sprintf('%02d. %s', ++$entry_count, $entry->message) . "\n";
|
||||
$is_first_entry = true;
|
||||
foreach ($entry->backtrace as $key => $backtrace)
|
||||
{
|
||||
if (isset($backtrace['file']) && isset($backtrace['line']))
|
||||
{
|
||||
echo sprintf(' - %s line %d', $backtrace['file'], $backtrace['line']) . "\n";
|
||||
echo sprintf(' - %s line %d', $backtrace['file'], $backtrace['line']);
|
||||
if ($is_first_entry)
|
||||
{
|
||||
echo ' (×' . $entry->count . ')';
|
||||
$is_first_entry = false;
|
||||
}
|
||||
echo "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -74,11 +81,18 @@ PHP Errors and Warnings
|
|||
foreach ($data->errors as $error)
|
||||
{
|
||||
echo sprintf('%02d. %s: %s', ++$error_count, $error->type, $error->message) . "\n";
|
||||
$is_first_error = true;
|
||||
foreach ($error->backtrace as $key => $backtrace)
|
||||
{
|
||||
if (isset($backtrace['file']) && isset($backtrace['line']))
|
||||
{
|
||||
echo sprintf(' - %s line %d', $backtrace['file'], $backtrace['line']) . "\n";
|
||||
echo sprintf(' - %s line %d', $backtrace['file'], $backtrace['line']);
|
||||
if ($is_first_error)
|
||||
{
|
||||
echo ' (×' . $error->count . ')';
|
||||
$is_first_error = false;
|
||||
}
|
||||
echo "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -101,7 +115,7 @@ Database Queries
|
|||
echo sprintf('%02d. %s', ++$query_count, $query->query_string) . "\n";
|
||||
if (empty($query->backtrace))
|
||||
{
|
||||
echo sprintf(' - Caller: %s', $query_caller) . "\n";
|
||||
echo sprintf(' - Caller: %s', $query_caller) . ' (×' . $query->count . ')' . "\n";
|
||||
}
|
||||
echo sprintf(' - Connection: %s', $query->query_connection) . "\n";
|
||||
echo sprintf(' - Query ID: %s', $query->query_id) . "\n";
|
||||
|
|
@ -109,7 +123,7 @@ Database Queries
|
|||
echo sprintf(' - Result: %s', $query_result) . "\n";
|
||||
if (!empty($query->backtrace))
|
||||
{
|
||||
echo sprintf(' - Call Stack: %s', $query_caller) . "\n";
|
||||
echo sprintf(' - Call Stack: %s', $query_caller) . ' (×' . $query->count . ')' . "\n";
|
||||
foreach ($query->backtrace ?? [] as $key => $backtrace)
|
||||
{
|
||||
if (isset($backtrace['file']) && isset($backtrace['line']))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue