Dropped queries with unknown start time (that never worked).

This commit is contained in:
Andrey Savchenko committed 2019-03-25 19:19:18 +02:00
1 parent 7bffa1f49e
commit bbc7ff1ada
1 file changed
+8 -7
+8 -7
View File
@@ -64,7 +64,9 @@ class Sql_Collector implements Record_Collector_Interface {
} }
/** @var array $wpdb->queries */ /** @var array $wpdb->queries */
return array_map( [ $this, 'transform' ], array_keys( $wpdb->queries ), $wpdb->queries ); $records = array_filter( array_map( [ $this, 'transform' ], array_keys( $wpdb->queries ), $wpdb->queries ) );
return $records;
} }
/** /**
@@ -84,21 +86,20 @@ class Sql_Collector implements Record_Collector_Interface {
* *
* @return Record * @return Record
*/ */
protected function transform( int $key, array $query_data ): Record { protected function transform( int $key, array $query_data ): ?Record {
static $last_query_end = 0;
[ $sql, $duration, $caller ] = $query_data; [ $sql, $duration, $caller ] = $query_data;
/** @var float $query_start */ /** @var float $query_start */
$query_start = $query_data[3] ?? $this->query_starts[ $key ] ?? $last_query_end; $query_start = $query_data[3] ?? $this->query_starts[ $key ] ?? 0;
if ( empty( $query_start ) ) {
return null;
}
$sql = trim( $sql ); $sql = trim( $sql );
$category = 'sql-read'; $category = 'sql-read';
if ( 0 === stripos( $sql, 'INSERT' ) || 0 === stripos( $sql, 'UPDATE' ) ) { if ( 0 === stripos( $sql, 'INSERT' ) || 0 === stripos( $sql, 'UPDATE' ) ) {
$category = 'sql-write'; $category = 'sql-write';
} }
$last_query_end = $query_start + $duration;
$desc_duration = round( $duration * 1000 ); $desc_duration = round( $duration * 1000 );
$backtrace = $this->formatter->format( $caller ); $backtrace = $this->formatter->format( $caller );
$description = $sql . ' – ' . $desc_duration . 'ms<hr />' . implode( '<br />', $backtrace ); $description = $sql . ' – ' . $desc_duration . 'ms<hr />' . implode( '<br />', $backtrace );