Package Documentation

  • Readme

    PHPFUI\MySQLSlowLog\Parser Tests Latest Packagist release

    PHP Parser for MySQL and MariaDB Slow Query Logs featuring sortable results

    Requirements

    • Modern PHP version
    • MySQL 5.7 or higher, or MariaDB

    Usage

    $parser = new \PHPFUI\MySQLSlowQuery\Parser($logFilePath);
    
    // Return the sessions in the file as array
    $sessions = $parser->getSessions();
    
    // Return all entries in file as array, or pass session number (0 based)
    $entries = $parser->getEntries();
    
    if (count($entries))
      {
      // Get the worst offender
      $entry = $parser->sortEntries()->getEntries()[0];
      echo 'Query ' . implode(' ', $entry->Query) . " took {$entry->Query_time} seconds at {$entry->Time}\n";
    
      // Get the most rows examined
      $entry = $parser->sortEntries('Rows_examined', 'desc')->getEntries()[0];
      echo 'Query ' . implode(' ', $entry->Query) . " looked at {$entry->Rows_examined} rows\n";
      }

    Entries

    \PHPFUI\MySQLSlowQuery\Entry provides details on each query. Supported fields:

    • Time
    • User
    • Host
    • Id
    • Query_time
    • Lock_time
    • Rows_sent
    • Rows_examined
    • Query (array)
    • Session (zero based)

    MariaDB adds the following fields:

    • Thread_id
    • Schema
    • QC_hit
    • Rows_affected
    • Bytes_sent
    • Tmp_tables
    • Tmp_disk_tables
    • Tmp_table_sizes
    • Full_scan
    • Full_join
    • Tmp_table
    • Tmp_table_on_disk
    • Filesort
    • Filesort_on_disk
    • Merge_passes
    • Priority_queue
    • explain

    Sessions

    \PHPFUI\MySQLSlowQuery\Session contains MySQL server information and are created on server restarts and log flushes. Pass the zero based session number to getEntries for only that Session's entries. Supported fields:

    • Server
    • Version
    • Port
    • Transport

    Sort Entries

    By default, entries are returned in log order, but call sortEntries on the Parser to sort by any valid field (parameter 1). Sort defaults to 'desc', anything else will sort ascending.

    Full Class Documentation

    PHPFUI/InstaDoc

    License

    Distributed under the MIT License.

Namespaces
\PHPFUI\MySQLSlowQuery\Exception
Classes
PHPFUI\MySQLSlowQuery\BaseObject
PHPFUI\MySQLSlowQuery\Entry
PHPFUI\MySQLSlowQuery\Exception
PHPFUI\MySQLSlowQuery\Parser
PHPFUI\MySQLSlowQuery\Session
© 2026 Bruce Wells
Search Namespaces \ Classes
Configuration