PSR-15 middleware для измерения времени обработки запроса и отправки метрик.
composer require tutu-ru/lib-metrics-middleware
Измеряет время обработки запроса. Для максимальной точности измерения данный middleware должен выполняться одинм из первых.
use TutuRu\Metrics\StatsdExporterClientFactory;
use TutuRu\MetricsMiddleware\RequestTimingMiddleware;
$statsExporterClient = StatsdExporterClientFactory::create($config);
$middleware = new RequestMetadataMiddleware($statsExporterClient);
// add to application
Так как до инициализации middleware в приложении могут происходить дополнительные действия предусмотрена передача произвольного времени старта:
use TutuRu\Metrics\StatsdExporterClientFactory;
use TutuRu\MetricsMiddleware\RequestTimingMiddleware;
$startTime = microtime(true);
// some useful thing
$statsExporterClient = StatsdExporterClientFactory::create($config);
$middleware = new RequestMetadataMiddleware($statsExporterClient, $startTime);
// add to application
Отправляет все накопленные метрики.
Должен срабатывать в самом конце обработки, после всех middleware, которые могли собирать метрики.
use TutuRu\Metrics\StatsdExporterClientFactory;
use TutuRu\MetricsMiddleware\StatsdExporterSaveMiddleware;
$statsExporterClient = StatsdExporterClientFactory::create($config);
$middleware = new StatsdExporterSaveMiddleware($statsExporterClient);
// add to application