Reorganized collector classes.

This commit is contained in:
Andrey Savchenko committed 2018-12-21 15:45:47 +02:00
1 parent fb144ebe01
commit 961019ef74
16 files changed
+46 -34

No files matched your search

+3 -1
View File
@@ -3,13 +3,15 @@ declare( strict_types=1 );
namespace Rarst\Laps\Event;
use Rarst\Laps\Record\Collector\Hook_Collector;
/**
* Interface to retrieve configuration array of hook events to track.
*/
interface Hook_Event_Config_Interface {
/**
* @see Hook_Record_Collector::add_event()
* @see Hook_Collector::add_event()
*
* @return array[]
*/
+1 -1
View File
@@ -32,7 +32,7 @@ class Hook_Formatter {
$closure = new \ReflectionFunction( $callback );
$callback = 'closure from ' . $closure->getFileName() . '::' . $closure->getStartLine();
if ( false !== strpos( $callback, 'Hook_Record_Collector' ) ) {
if ( false !== strpos( $callback, 'Hook_Collector' ) ) {
continue;
}
} elseif ( is_object( $callback ) ) {
+8 -8
View File
@@ -6,11 +6,11 @@ namespace Rarst\Laps\Provider;
use Pimple\Container;
use Pimple\ServiceProviderInterface;
use Rarst\Laps\Plugin;
use Rarst\Laps\Record\Core_Load_Collector;
use Rarst\Laps\Record\Hook_Record_Collector;
use Rarst\Laps\Record\Http_Record_Collector;
use Rarst\Laps\Record\Record_Collector_Interface;
use Rarst\Laps\Record\Sql_Record_Collector;
use Rarst\Laps\Record\Collector\Core_Load_Collector;
use Rarst\Laps\Record\Collector\Hook_Collector;
use Rarst\Laps\Record\Collector\Http_Collector;
use Rarst\Laps\Record\Collector\Record_Collector_Interface;
use Rarst\Laps\Record\Collector\Sql_Collector;
use Symfony\Component\Stopwatch\Stopwatch;
/**
@@ -30,9 +30,9 @@ class Record_Provider implements ServiceProviderInterface, Bootable_Provider_Int
$pimple['collectors'] = function ( Plugin $laps ): array {
return [
'core' => new Core_Load_Collector(),
'hook' => new Hook_Record_Collector( $laps['stopwatch'], $laps['hook.events'] ),
'http' => new Http_Record_Collector( $laps['stopwatch'] ),
'sql' => new Sql_Record_Collector(),
'hook' => new Hook_Collector( $laps['stopwatch'], $laps['hook.events'] ),
'http' => new Http_Collector( $laps['stopwatch'] ),
'sql' => new Sql_Collector(),
];
};
@@ -1,7 +1,10 @@
<?php
declare( strict_types=1 );
namespace Rarst\Laps\Record;
namespace Rarst\Laps\Record\Collector;
use Rarst\Laps\Record\Record;
use Rarst\Laps\Record\Record_Interface;
/**
* Covers pre–plugin load time from available data.
@@ -1,17 +1,18 @@
<?php
declare( strict_types=1 );
namespace Rarst\Laps\Record;
namespace Rarst\Laps\Record\Collector;
use Rarst\Laps\Event\Hook_Event_Config_Interface;
use Rarst\Laps\Formatter\Hook_Formatter;
use Rarst\Laps\Record\Stopwatch_Record;
use Symfony\Component\Stopwatch\Stopwatch;
use Symfony\Component\Stopwatch\StopwatchEvent;
/**
* Processes events based on hooked starts and stops.
*/
class Hook_Record_Collector extends Stopwatch_Record_Collector {
class Hook_Collector extends Stopwatch_Collector {
/** @var Hook_Event_Config_Interface[] $event_configs */
protected $event_configs = [];
@@ -1,16 +1,17 @@
<?php
declare( strict_types=1 );
namespace Rarst\Laps\Record;
namespace Rarst\Laps\Record\Collector;
use Rarst\Laps\Formatter\Backtrace_Formatter;
use Rarst\Laps\Record\Stopwatch_Record;
use Symfony\Component\Stopwatch\Stopwatch;
use Symfony\Component\Stopwatch\StopwatchEvent;
/**
* Captures time of network requests made with HTTP API.
*/
class Http_Record_Collector extends Stopwatch_Record_Collector {
class Http_Collector extends Stopwatch_Collector {
/** @var Backtrace_Formatter */
private $formatter;
@@ -1,7 +1,9 @@
<?php
declare( strict_types=1 );
namespace Rarst\Laps\Record;
namespace Rarst\Laps\Record\Collector;
use Rarst\Laps\Record\Record_Interface;
/**
* Interface to retrieve a set of records form collector.
@@ -1,14 +1,15 @@
<?php
declare( strict_types=1 );
namespace Rarst\Laps\Record;
namespace Rarst\Laps\Record\Collector;
use Rarst\Laps\Formatter\Backtrace_Formatter;
use Rarst\Laps\Record\Record;
/**
* Processes SQL events from data logged by wpdb.
*/
class Sql_Record_Collector implements Record_Collector_Interface {
class Sql_Collector implements Record_Collector_Interface {
/** @var array $query_starts Log of query start times. */
protected $query_starts = [];
@@ -1,15 +1,16 @@
<?php
declare( strict_types=1 );
namespace Rarst\Laps\Record;
namespace Rarst\Laps\Record\Collector;
use Rarst\Laps\Record\Stopwatch_Record;
use Symfony\Component\Stopwatch\Stopwatch;
use Symfony\Component\Stopwatch\StopwatchEvent;
/**
* Generic Stopwatch–based collector. Can be used by itself or extended.
*/
class Stopwatch_Record_Collector implements Record_Collector_Interface {
class Stopwatch_Collector implements Record_Collector_Interface {
/** @var Stopwatch $stopwatch */
protected $stopwatch;